Skip to content

Dynamic range compression

nu774 edited this page Apr 10, 2018 · 12 revisions

Unlike most of other options, you can set --drc multiple times, with different parameters.

If you are unfamiliar with dynamic range compressors and don't know what each parameter means, look at http://en.wikipedia.org/wiki/Dynamic_range_compression. Or even better, read "Digital Dynamic Range Compressor Design -- A Tutorial and Analysis", JAES2012, on which compressor of qaac is implemented.

In wikipedia term, this compressor does "downward compression". That is, loud sounds over threshold are attenuated. This compressor takes 5 parameters: threshold, ratio, knee width, attack, release.

Since 2.66, attack is also treated as look-ahead length. Larger attack means that compression ratio increases more gently and that compression kicks in more early (before signal actually goes beyond the threshold).

Example

--drc -12:2:0:100:200

threshold:-12dBFS
2:1 compresion
knee width 0dB (=hard knee)
attack time 100ms
release time 200ms

Note that this example is by no means a "recommendation", but just illustrates how to set parameters. As for dynamic range compression, there's no single "best" solution that works for everything.