Compressor

amp: 1 mix: 1 pre_mix: 1 pre_amp: 1
threshold: 0.2 clamp_time: 0.01 slope_above: 0.5 slope_below: 1
relax_time: 0.01

with_fx :compressor

Compresses the dynamic range of the incoming signal. Equivalent to automatically turning the amp down when the signal gets too loud and then back up again when it’s quiet. Useful for ensuring the containing signal doesn’t overwhelm other aspects of the sound. Also a general purpose hard-knee dynamic range processor which can be tuned via the opts to both expand and compress the signal.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

mix:

The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard.

Default: 1
Must be a value between 0 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

pre_mix:

The amount (percentage) of the original signal that is fed into the internal FX system as a value between 0 and 1. With a pre_mix: of 0 the FX is completely bypassed unlike a mix: of 0 where the internal FX is still being fed the original signal but the output of the FX is ignored. The difference between the two is subtle but important and is evident when the FX has a residual component such as echo or reverb. When switching mix: from 0 to 1, the residual component of the FX’s output from previous audio is present in the output signal. With pre_mix: there is no residual component of the previous audio in the output signal.

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pre_amp:

Amplification applied to the input signal immediately before it is passed to the FX.

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

threshold:

Threshold value determining the break point between slope_below and slope_above.

Default: 0.2
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

clamp_time:

Time taken for the amplitude adjustments to kick in fully (in seconds). This is usually pretty small (not much more than 10 milliseconds). Also known as the time of the attack phase

Default: 0.01
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

slope_above:

Slope of the amplitude curve above the threshold. A value of 1 means that the output of signals with amplitude above the threshold will be unaffected. Greater values will magnify and smaller values will attenuate the signal.

Default: 0.5
May be changed whilst playing
Has slide options to shape changes

slope_below:

Slope of the amplitude curve below the threshold. A value of 1 means that the output of signals with amplitude below the threshold will be unaffected. Greater values will attenuate and smaller values will magnify the signal.

Default: 1
May be changed whilst playing
Has slide options to shape changes

relax_time:

Time taken for the amplitude adjustments to be released. Usually a little longer than clamp_time. If both times are too short, you can get some (possibly unwanted) artefacts. Also known as the time of the release phase.

Default: 0.01
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes