Noise Suppressor Expander#

Noise suppressor and expander Stages control the behaviour of quiet signals, typically by tring to reduce the audibility of noise in the signal.

class audio_dsp.stages.noise_suppressor_expander.NoiseSuppressorExpander(**kwargs)

The Noise Suppressor (Expander) stage. A noise suppressor that reduces the level of an audio signal when it falls below a threshold. This is also known as an expander.

When the signal envelope falls below the threshold, the gain applied to the signal is reduced relative to the expansion ratio 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 suppressor is with the suppression off; this models a full scale signal having been present before t = 0.

Attributes:
dsp_blockaudio_dsp.dsp.drc.expander.noise_suppressor_expander

The DSP block class; see Noise Suppressor/Expander for implementation details.

make_noise_suppressor_expander(ratio, threshold_db, attack_t, release_t, Q_sig=27)

Update noise suppressor (expander) configuration based on new parameters.

All parameters are passed to the constructor of audio_dsp.dsp.drc.noise_suppressor_expander.

Parameters:
ratiofloat

The expansion ratio applied to the signal when the envelope falls below the threshold.

threshold_dbfloat

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

attack_tfloat

Attack time of the noise suppressor in seconds.

release_tfloat

Release time of the noise suppressor in seconds.

Control

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

Command ID macro

Payload length

Description

CMD_NOISE_SUPPRESSOR_EXPANDER_ATTACK_ALPHA

sizeof(int32_t)

The attack alpha in Q0.31 format.

CMD_NOISE_SUPPRESSOR_EXPANDER_RELEASE_ALPHA

sizeof(int32_t)

The release alpha in Q0.31 format.

CMD_NOISE_SUPPRESSOR_EXPANDER_ENVELOPE

sizeof(int32_t)

The current peak envelope of the signal in Q_SIG format.

CMD_NOISE_SUPPRESSOR_EXPANDER_THRESHOLD

sizeof(int32_t)

The threshold in Q_SIG format below which suppression will occur.

CMD_NOISE_SUPPRESSOR_EXPANDER_GAIN

sizeof(int32_t)

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

CMD_NOISE_SUPPRESSOR_EXPANDER_SLOPE

sizeof(float)

The expansion slope of the noise suppressor. This is calculated as (1 - ratio).