[FFmpeg-devel] [PATCH] avfilter: add acompressor filter

Moritz Barsnick barsnick at gmx.net
Thu Nov 26 23:17:33 CET 2015

Paul, you do have some excellent filter additions!

On Wed, Nov 25, 2015 at 16:32:13 +0100, Paul B Mahol wrote:
> + at section acompressor

Very good description, few remarks only:

> +A compressor is mainly used to reduce the dynamic of a signal.
> +Especially modern music is mostly compressed at a high ratio to
> +improve the overall loudness. It's done to get the highest attention
> +of a listener, "fatten" the sound and bring more "power" to the track.
> +If a signal is compressed too much it may sound dull or "dead"
> +afterwards or it may start to "pump" (which could be a powerful effect
> +but can also destroy a track completely).
> +The right compression is the key to reach a professional sound and is
> +the high art of mixing and mastering. Because of it's complex settings

it's -> its

> +Compression is done by detecting the volume above a chosen level
> + at code{threshold} and divide it by the factor set with @code{ratio}.

divide -> dividing (stick to the infinitive, as for "detecting")

> +So if you set the threshold to -12dB and your signal reaches -6dB a ratio
> +of 2:1 will result in a signal at -9dB. Because an exact manipulation of
> +the signal would cause distrotion of the waveform the reduction can be

distrotion -> distortion

> +levelled over the time. This is done by setting "Attack" and "Release".
> + at code{attack} determines how long the signal has to rise above the threshold
> +before any reduction will occur and @code{release} sets the time the signal
> +has to fall below the threshold to reduce the reduction again. Shorter signals
> +than the chosen attack time will be left untouched.
> +The overall reduction of the signal can be made up afterwards with the
> + at code{makeup} setting. So compressing the peaks of a signal about 6dB and
> +rising the makeup to this level results in a signal two times louder than the

rising -> raising

"two times louder" (which could be read as "three times as loud") or "twice as loud"?

> +source. To gain a softer entry in the compression the @code{knee} flattens the
> +hard edge at the threshold in the range of the chosen decibels.
> +
> +The filter accepts the following options:
> +
> + at table @option
> + at item threshold
> +If a signal of second stream raises above this level it will affect the gain
> +reduction of first stream.

raises -> rises ("to rise" is active, "to be raised" is passive)

of ... stream -> of the ... stream

> +By default is 0.125. Range is between 0.00097563 and 1.

"By default is" -> "By default it is" or "The default is" or "Default

> + at item ratio
> +Set a ratio about which the signal is reduced. 1:2 means that if the level

"about which" -> "by which"

> +raised 4dB above the threshold, it will be only 2dB above after the reduction.
> +Default is 2. Range is between 1 and 20.

raised -> rose (active, again ;-))

> + at 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.
> +
> + at item release
> +Amount of milliseconds the signal has to fall below the threshold before
> +reduction is decreased again. Default is 250. Range is between 0.01 and 9000.
> +
> + at item makeup
> +Set the amount by how much signal will be amplified after processing.
> +Default is 2. Range is from 1 and 64.

"Amount" -> "Number" (not sure about this one, "number" seems more
correct to me personally)

> +of @code{rms}. Default is @code{rms} which is mainly smoother.

"mainly"? (i.e. its main effect) -> "mostly"? (i.e. more often?)


More information about the ffmpeg-devel mailing list