Dynamic range compressor
The compressor
System object™ performs dynamic range compression independently across each input channel.
Dynamic range compression attenuates the volume of loud sounds that cross a given threshold.
It uses specified attack and release times to achieve a smooth applied gain curve. Properties
of the compressor
System object specify the type of dynamic range compression.
To perform dynamic range compression:
Create the compressor
object and set its properties.
Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?.
dRC = compressor
creates a System object, dRC
, that performs dynamic range compression
independently across each input channel over time.
dRC = compressor(
sets the
Threshold
property to thresholdValue
)thresholdValue
.
dRC = compressor(
sets the Ratio property
to thresholdValue
,ratioValue
)ratioValue
.
dRC = compressor(___,
sets each property Name,Value
)Name
to the specified Value
.
Unspecified properties have default values.
dRC = compressor('AttackTime',0.01,'SampleRate',16000)
creates a System object, dRC
, with a 10 ms attack time operating at a 16 kHz
sample rate.To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
The createAudioPluginClass
and configureMIDI
functions map tunable properties of the compressor
System object to user-facing parameters:
Property | Range | Mapping | Unit |
---|---|---|---|
Threshold | [–50, 0] | linear | dB |
Ratio | [1, 50] | linear | none |
KneeWidth | [0, 20] | linear | dB |
AttackTime | [0, 4] | linear | seconds |
ReleaseTime | [0, 4] | linear | seconds |
MakeUpGain (available when you set
MakeUpGainMode to 'Property' ) | [–10, 24] | linear | dB |
[1] Giannoulis, Dimitrios, Michael Massberg, and Joshua D. Reiss. "Digital Dynamic Range Compressor Design –– A Tutorial and Analysis." Journal of Audio Engineering Society. Vol. 60, Issue 6, 2012, pp. 399–408.