Re: Compressors continued

From: Sampo A Syreeni (ssyreeni@cc.helsinki.fi)
Date: Tue Jan 27 1998 - 08:05:35 EST


On Fri, 23 Jan 1998, Juhana K Kouhia wrote:

>Pcompress could also have a delay in the power level signal such that the
>current power is the power of a future signal. This way the gain should
>be at lower level just in time when the high power signal comes in.
>Attack time could be this delay time directly.

So you would be simulating a noncausal system. That would be ok, except for
the fact that it incurs a penalty, namely, more latency. And that means
problems for realtime performance. Also, comressors that 'anticipate' (which
is what a noncausal compressor does - remember, it cannot change the
attenuation value instantaneously without causing distortion) sounds quite
weird, especially with longer release and (especially) attack settings...

>applying a time-varying low-pass filter to the gain signal. A higher filter
>cut-off in attack and a lower cut-off in release should give the desired
>result.

In effect, that is what is normally used. Usually it isn't very apparent
since the filters are of first order max.

>I'm also wondering what is wrong in using waveshaper as compressor.
>Could somebody explane? As somebody explaned the compressor approach
>the waveshaper. A waveshaper at least cuts off the sudden high peaks
>in signal very efficiently. Having a smooth curve in waveshaper, there
>should no be clicks and have less artifacts.

The problem is that waveshaping, though it indeed compresses the signal,
introduces heavy distortion to the signal when anything approaching full
scale is put through it. Used with a guitar, you're probably used to hearing
it on punk records... ;) So what you need to do 'compression', is a linear
amplifier which cuts the peaks, but changes the volume slowly enough so that
the nonlinear distortion which results (remember, AM, as in ring modulation)
is kept low enough not to be heard.

>>One component of a compressor that is not specifically provided is a
>>dual-slope slew rate limiter. This is basically a portamento generator
>>that has a different rate depending on whether the input signal is going up
>>to down. This controls and "attack" and "decay" parts of the system, and
>
>I don't know what kind of system it will be in practice but sure I'm
>able to say if it is good or not when I see one.

Slew rate limiting limits the rate of change of the compressor's
attenuation parameter. It is used in compressors to limit the amount of
damage that the compressor can do to the signal when sudden changes in
amplitude are encountered. Basically it checks which way the predicted
amplitude is going (takes the sign of the derivative, if you will) and then
limits the rate of change of the attenuation parameter to one of two
different values, based on whether the current signal growing or
diminishing. In effect, when the amplitude changes very slowly,
the filtered amplitude does the same, and the limiter is idle; the
attenuation faithfully tracks envelope of the signal. If, however, the
amplitude were to change suddenly, the filtered expectation value would
too, and some distortion would be produced. This is where the limiter goes
active, and reduces the sudden change (otherwise exponential, if a linear
first order filter is used) to a linear, constant slope slide. The limiter
goes off when the attenuation value is close enough to the optimum
(determined by the compression ratio and related settings) to make the
filter output less than the limiting value.

Sampo Syreeni <decoy@iki.fi>, Decoy/Dawn, Student (Math, Helsinki University)



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 11:46:32 EST