User Guide

FXAlg #954: Compress/Expand ¥ FXAlg #955: Comp/Exp + EQ
Algorithm Reference-148
To determine how much to compress or expand the signal, the compressor/expander must measure the signal level.
Since musical signal levels will change over time, the compression and expansion amounts must change as well.
You can control how fast the compression or expansion changes in response to changing signal levels with the
attack and release time controls. Compression and expansion have separate controls.
First consider the compressor. With the attack time, you set how fast the compressor responds to increased levels.
At long attack times, the signal may overshoot the threshold level for some time interval before it becomes fully
compressed, while at short attack times, the compressor will rapidly clamp down on the level. The release time
controls how long it takes the compressor to respond to a reduction in signal levels. At long release times, the signal
may stay compressed well after the signal falls below threshold. At short release times, the compressor will open
up almost as soon as the signal drops.
For typical compressor behavior, the attack time is considerably shorter than the release time. At very short attack
and release times, the compressor is almost able to keep up with the instantaneous signal levels and the algorithm
will behave more like distortion than compression. In addition to the attack and release times, there is another time
parameter: ÒSmoothTimeÓ. The smoothing parameter will increase both the attack and release times, although the
effect is significant only when its time is longer than the attack or release times. Generally the smoothing time
should be kept at or shorter than the attack time.
This compressor provides two compressed segments. The signal below the lower threshold is not compressed. The
compression ratio corresponding to the lower threshold sets the amount of compression for the lower compression
segment. Above the upper threshold, the signal is compressed even further by the ratio corresponding to the upper
threshold. You may use the upper segment as a limiter (infinite compression), or you may use the two compression
segments to produce compression with a softer knee than you would get otherwise. For example, to make the
algorithm a compressor and limiter, first choose the two thresholds. The limiter will of course have the higher
threshold. Set the compression ratio for the higher threshold to ÒInf:1Ó. This gives you your limiter. Finally set the
compression ratio for the lower threshold to the amount of compression that you want. Either pair of threshold and
ratio parameters may be used for the upper compression segmentÑthey are interchangeable. Above the upper
threshold, the two compression ratios become additive. If both ratios are set to 3.0:1, then the compression of the
upper segment will be 6.0:1. Another way to think of it is as two compressors wired in series (one after the other).
Two Segment Compression Characteristic
You have the choice of using the compressor configured as feed-forward or feedback. For feed-forward, set the
FdbkComprs parameter to ÒOutÓ; for feedback compression, set it to ÒInÓ. The feed-forward configuration uses the
input signal as the side-chain source. The feedback compressor on the other hand uses the compressor output as the
side-chain source. Feedback compression tends to be more subtle, but you cannot get an instant attack.
The expander attack/release times are similar, though there is only one expand segment. The expander works
independently of the compressor. The expander cannot be configured for feedback (if it could, it would always shut
itself off permanently). The signal delay path does affect the expander. The attack time is defined as the time for the
expansion to turn off when the signal rises above the threshold. This time should be very short for most
applications. The expander release time is the time for the signal to expands down after the signal drops below
In Amp
Out
Amp
Threshold 1
Threshold 2