mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
scaletempo: improve the docs
Fix the syntax, add more explanation and xref the properties.
This commit is contained in:
parent
3b6cd3d35c
commit
266a57d77b
1 changed files with 18 additions and 20 deletions
|
@ -21,41 +21,39 @@
|
||||||
/**
|
/**
|
||||||
* SECTION:element-scaletempo
|
* SECTION:element-scaletempo
|
||||||
*
|
*
|
||||||
* <refsect2>
|
|
||||||
* <para>
|
|
||||||
* Scale tempo while maintaining pitch
|
* Scale tempo while maintaining pitch
|
||||||
* (WSOLA-like technique with cross correlation)
|
* (WSOLA-like technique with cross correlation)
|
||||||
* Inspired by SoundTouch library by Olli Parviainen
|
* Inspired by SoundTouch library by Olli Parviainen
|
||||||
* </para>
|
*
|
||||||
* <para>
|
|
||||||
* Use Sceletempo to apply playback rates without the chipmunk effect.
|
* Use Sceletempo to apply playback rates without the chipmunk effect.
|
||||||
* </para>
|
*
|
||||||
|
* <refsect2>
|
||||||
* <title>Example pipelines</title>
|
* <title>Example pipelines</title>
|
||||||
* <para>
|
* <para>
|
||||||
* <programlisting>
|
* |[
|
||||||
* filesrc location=media.ext ! decodebin name=d \
|
* filesrc location=media.ext ! decodebin name=d \
|
||||||
* d. ! queue ! audioconvert ! audioresample ! scaletempo ! audioconvert ! audioresample ! autoaudiosink \
|
* d. ! queue ! audioconvert ! audioresample ! scaletempo ! audioconvert ! audioresample ! autoaudiosink \
|
||||||
* d. ! queue ! ffmpegcolorspace ! autovideosink
|
* d. ! queue ! ffmpegcolorspace ! autovideosink
|
||||||
* </programlisting>
|
* ]|
|
||||||
* OR
|
* OR
|
||||||
* <programlisting>
|
* |[
|
||||||
* playbin uri=... audio_sink="scaletempo ! audioconvert ! audioresample ! autoaudiosink"
|
* playbin uri=... audio_sink="scaletempo ! audioconvert ! audioresample ! autoaudiosink"
|
||||||
* </programlisting>
|
* ]|
|
||||||
* When an application sends a seek event with rate != 1.0, Scaletempo applies
|
* When an application sends a seek event with rate != 1.0, Scaletempo applies
|
||||||
* the rate change by scaling the tempo without scaling the pitch.
|
* the rate change by scaling the tempo without scaling the pitch.
|
||||||
* </para>
|
*
|
||||||
* <para>
|
* Scaletempo works by producing audio in constant sized chunks
|
||||||
* Scaletempo works by producing audio in constant sized chunks (a "stride") but
|
* (#GstScaletempo:stride) but consuming chunks proportional to the playback
|
||||||
* consuming chunks proportional to the playback rate.
|
* rate.
|
||||||
* </para>
|
*
|
||||||
* <para>
|
|
||||||
* Scaletempo then smooths the output by blending the end of one stride with
|
* Scaletempo then smooths the output by blending the end of one stride with
|
||||||
* the next ("overlap").
|
* the next (#GstScaletempo:overlap).
|
||||||
* </para>
|
*
|
||||||
* <para>
|
|
||||||
* Scaletempo smooths the overlap further by searching within the input buffer
|
* Scaletempo smooths the overlap further by searching within the input buffer
|
||||||
* for the best overlap position. Scaletempo uses a statistical cross correlation
|
* for the best overlap position. Scaletempo uses a statistical cross
|
||||||
* (roughly a dot-product). Scaletempo consumes most of its CPU cycles here.
|
* correlation (roughly a dot-product). Scaletempo consumes most of its CPU
|
||||||
|
* cycles here. One can use the #GstScaletempo:search propery to tune how far
|
||||||
|
* the algoritm looks.
|
||||||
* </para>
|
* </para>
|
||||||
* </refsect2>
|
* </refsect2>
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue