From c1fa846d0c23dee4b214d454415a576bec0fc5d2 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 17 Jul 2015 18:44:16 +0000 Subject: avfilter: add sidechain compress audio filter Signed-off-by: Paul B Mahol --- doc/filters.texi | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'doc') diff --git a/doc/filters.texi b/doc/filters.texi index 35a24cc..f6380c9 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -622,6 +622,7 @@ slope Specify the band-width of a filter in width_type units. @end table +@anchor{amerge} @section amerge Merge two or more audio streams into a single multi-channel stream. @@ -2020,6 +2021,7 @@ Applies only to double-pole filter. The default is 0.707q and gives a Butterworth response. @end table +@anchor{pan} @section pan Mix channels with specific gain levels. The filter accepts the output @@ -2121,6 +2123,66 @@ At end of filtering it displays @code{track_gain} and @code{track_peak}. Convert the audio sample format, sample rate and channel layout. It is not meant to be used directly. +@section sidechaincompress + +This filter acts like normal compressor but has the ability to compress +detected signal using second input signal. +It needs two input streams and returns one output stream. +First input stream will be processed depending on second stream signal. +The filtered signal then can be filtered with other filters in later stages of +processing. See @ref{pan} and @ref{amerge} filter. + +The filter accepts the following options: + +@table @option +@item threshold +If a signal of second stream raises above this level it will affect the gain +reduction of first stream. +By default is 0.125. Range is between 0.00097563 and 1. + +@item ratio +Set a ratio about which the signal is reduced. 1:2 means that if the level +raised 4dB above the threshold, it will be only 2dB above after the reduction. +Default is 2. Range is between 1 and 20. + +@item attack +Amount of milliseconds the signal has to rise above the threshold before gain +reduction starts. Default is 20. Range is between 0.01 and 2000. + +@item release +Amount of milliseconds the signal has to fall bellow the threshold before +reduction is decreased again. Default is 250. Range is between 0.01 and 9000. + +@item makeup +Set the amount by how much signal will be amplified after processing. +Default is 2. Range is from 1 and 64. + +@item knee +Curve the sharp knee around the threshold to enter gain reduction more softly. +Default is 2.82843. Range is between 1 and 8. + +@item link +Choose if the @code{average} level between all channels of side-chain stream +or the louder(@code{maximum}) channel of side-chain stream affects the +reduction. Default is @code{average}. + +@item detection +Should the exact signal be taken in case of @code{peak} or an RMS one in case +of @code{rms}. Default is @code{rms} which is mainly smoother. +@end table + +@subsection Examples + +@itemize +@item +Full ffmpeg example taking 2 audio inputs, 1st input to be compressed +depending on the signal of 2nd input and later compressed signal to be +merged with 2nd input: +@example +ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge" +@end example +@end itemize + @section silencedetect Detect silence in an audio stream. -- cgit v1.1