[linux-audio-dev] Paper on dynamic range compression

Alfons Adriaensen fons.adriaensen at alcatelaleniaspace.com
Fri Oct 6 08:59:47 UTC 2006


On Fri, Oct 06, 2006 at 08:24:10AM +0100, Steve Harris wrote:

> Looking at the code, the compressors use a pretty expensive linear -> dB
> conversion routine (cubicly interpolated lookup table) to work out the
> gain changes, maybe I could substitute a cheap approximation function.
> I'll bet that analogue compressors didn't use accurace logarithmic
> approximations.

Most didn't, and the set compression ratio was just an indication
of how strong the effect would be, and by no means constant over the
dynamic range. And that was probably part of their charm. Many of the
control circuits were just designed or tweaked by trial and error
rather than trying to follow some exact mathematical law.

The same can be said of the time constants, in particular the
attack time, which in most analog circuits depends on the actual
levels (the higher, the faster). Just the simple combination of a
diode and a capacitor defeats any analysis in simple terms, since
a real diode is highly non-linear.

A lot depends on if the compressor uses feed-forward control
(i.e. the gain is controlled by the input signal), or feedback
gain control (the gain is controlled by the output level).
At high compression ratios, FF requires very precise control
voltage manipulation, and most analog equipment would use FB
for that reason.


-- 
FA

Lascia la spina, cogli la rosa.



More information about the Linux-audio-dev mailing list