Dynamic range gate
The noiseGate
System object™ performs dynamic range gating independently across each input channel. Dynamic
range gating suppresses signals below a given threshold. It uses specified attack, release,
and hold times to achieve a smooth applied gain curve. Properties of the
noiseGate
System object specify the type of dynamic range gating.

To perform dynamic range gating:
Create the noiseGate 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?.
dRG = noiseGate creates a System object, dRG, that performs dynamic range gating independently
across each input channel.
dRG = noiseGate( sets the
Threshold
property to thresholdValue)thresholdValue.
dRG = noiseGate(___,
sets each property Name,Value)Name to the specified Value.
Unspecified properties have default values.
dRG = noiseGate('AttackTime',0.01,'SampleRate',16000)
creates a System object, dRG, with a 10 ms attack time and 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 noiseGate
System object to user-facing parameters:
| Property | Range | Mapping | Unit |
|---|---|---|---|
Threshold | [–140, 0] | linear | dB |
AttackTime | [0, 4] | linear | seconds |
ReleaseTime | [0, 4] | linear | seconds |
HoldTime | [0, 4] | linear | seconds |
[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.