Dynamic Compressor Node

The Dynamic Compressor Node attenuates (compresses) the loud parts in an audio signal. At the same time, it allows more quiet parts to remain at their original volume. This is useful when loud sounds need to be lowered, but reducing the overall volume uniformly (e.g. by using a Gain Node) would drown out more quiet parts way too much. Simply put, this Node automatically lowers and raises the volume as needed.

This technique is also called loudness equalization, or dynamic range compression. This effect can also be achieved using an Envelope Node and an automated Gain Node, by manually adjusting the envelope, so that it lowers the Gain Node’s gain setting during the loud parts. However, the Dynamic Compressor Node can do this automatically, and works with any live audio signal, without knowing it in advance.


Inputs

Audio Input

The audio signal to compress. A control signal may also be connected, but it’s probably not going to have the desired results. Similar alternatives, which are better suited for control signals, are the Constant Range Transform Node and the Clamp Node.


Settings

Threshold

The threshold, in dB, above which the compression will start kicking in. The higher this value is, the louder a sound needs to be to result in a volume reduction. Sounds below this threshold will not affect compression.

Knee

Sets the range above the threshold (in dB) where the compression curve smoothly transitions to the compressed portion. A higher value adds more easing around the threshold, instead of starting to apply the compression immediately.

Ratio

How strong the compression is when the compression threshold is reached. A lower value will just slightly attenuate the signal for loud sounds, but generally allow them to reach far above the Threshold. A higher value will apply a more harsh compression, and allow loud sounds to surpass the set threshold a lot less.

Release

The amount of time, in seconds, that it takes to increase the volume back up, by 10 dB.

To better understand how this works, you need to understand how dynamic compression works. That is, when there is a loud sound in the audio signal, the Node will lower the volume of the entire signal, temporarily. When the signal is no longer loud, the Node will gradually increase the volume back up, so that the volume reduction is not permanent. The rate at which volume is raised back up, is what the Release setting controls. The lower it is, the faster the volume is allowed to be raised back up.

Attack

The amount of time, in seconds, it takes to reduce the volume by 10 dB when a loud sound is detected.

A low value will apply an immediate and sharp volume reduction for loud sounds. At the same time, higher values will apply a more gradual volume reduction.


Outputs

Audio Output

The audio signal with compression applied.

If the input audio signal never reaches above the compression threshold, this output signal will be identical to the input signal (not accounting for latency).


Technical Details

This Node implements a downward dynamic compression effect, with a 6ms look ahead window. This means:

  • This Node by itself can only ever produce lower or unchanged volume, but never higher
  • There is a fixed 6ms processing latency