Noise Gate#

Noise gate Stages remove quiet signals from the audio output.

class audio_dsp.stages.noise_gate.NoiseGate(**kwargs)

A noise gate that reduces the level of an audio signal when it falls below a threshold.

When the signal envelope falls below the threshold, the gain applied to the signal is reduced to 0 over the release time. When the envelope returns above the threshold, the gain applied to the signal is increased to 1 over the attack time.

The initial state of the noise gate is with the gate open (no attenuation); this models a full scale signal having been present before t = 0.

Attributes:
dsp_blockaudio_dsp.dsp.drc.expander.noise_gate

The DSP block class; see Noise Gate for implementation details.

make_noise_gate(threshold_db, attack_t, release_t, Q_sig=27)

Update noise gate configuration based on new parameters.

Parameters:
threshold_dbfloat

The threshold level in decibels below which the audio signal is attenuated.

attack_tfloat

Attack time of the noise gate in seconds.

release_tfloat

Release time of the noise gate in seconds.

Control

The following runtime control parameters are available for the NoiseGate Stage:

Command ID macro

Payload length

Description

CMD_NOISE_GATE_ATTACK_ALPHA

sizeof(int32_t)

The attack alpha in Q0.31 format.

CMD_NOISE_GATE_RELEASE_ALPHA

sizeof(int32_t)

The release alpha in Q0.31 format.

CMD_NOISE_GATE_ENVELOPE

sizeof(int32_t)

The current peak envelope of the signal in Q_SIG format.

CMD_NOISE_GATE_THRESHOLD

sizeof(int32_t)

The threshold in Q_SIG format below which gating will occur.

CMD_NOISE_GATE_GAIN

sizeof(int32_t)

The current gain applied by the noise gate in Q0.31 format.