diff --git a/gst/scaletempo/gstscaletempo.c b/gst/scaletempo/gstscaletempo.c index ba82a85823..a057321f41 100644 --- a/gst/scaletempo/gstscaletempo.c +++ b/gst/scaletempo/gstscaletempo.c @@ -21,41 +21,39 @@ /** * SECTION:element-scaletempo * - * - * * Scale tempo while maintaining pitch * (WSOLA-like technique with cross correlation) * Inspired by SoundTouch library by Olli Parviainen - * - * + * * Use Sceletempo to apply playback rates without the chipmunk effect. - * + * + * * Example pipelines * - * + * |[ * filesrc location=media.ext ! decodebin name=d \ * d. ! queue ! audioconvert ! audioresample ! scaletempo ! audioconvert ! audioresample ! autoaudiosink \ * d. ! queue ! ffmpegcolorspace ! autovideosink - * + * ]| * OR - * + * |[ * playbin uri=... audio_sink="scaletempo ! audioconvert ! audioresample ! autoaudiosink" - * + * ]| * When an application sends a seek event with rate != 1.0, Scaletempo applies * the rate change by scaling the tempo without scaling the pitch. - * - * - * Scaletempo works by producing audio in constant sized chunks (a "stride") but - * consuming chunks proportional to the playback rate. - * - * + * + * Scaletempo works by producing audio in constant sized chunks + * (#GstScaletempo:stride) but consuming chunks proportional to the playback + * rate. + * * Scaletempo then smooths the output by blending the end of one stride with - * the next ("overlap"). - * - * + * the next (#GstScaletempo:overlap). + * * Scaletempo smooths the overlap further by searching within the input buffer - * for the best overlap position. Scaletempo uses a statistical cross correlation - * (roughly a dot-product). Scaletempo consumes most of its CPU cycles here. + * for the best overlap position. Scaletempo uses a statistical cross + * 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. * * */