Limiter Stages¶
Limiter Stages allow the amplitude of the signal to be restricted based on its envelope.
LimiterRMS¶
- class audio_dsp.stages.LimiterRMS(**kwargs)
A limiter based on the RMS value of the signal. When the RMS envelope of the signal exceeds the threshold, the signal amplitude is reduced.
The threshold sets the value above which limiting occurs. The attack time sets how fast the limiter starts limiting. The release time sets how long the signal takes to ramp up to its original level after the envelope is below the threshold.
- Attributes:
- dsp_block
audio_dsp.dsp.drc.drc.limiter_rms The DSP block class; see RMS Limiter for implementation details.
- dsp_block
- make_limiter_rms(threshold_db, attack_t, release_t, Q_sig=27)
Update limiter configuration based on new parameters.
- Parameters:
- threshold_dbfloat
Threshold in decibels above which limiting occurs.
- attack_tfloat
Attack time of the limiter in seconds.
- release_tfloat
Release time of the limiter in seconds.
- set_parameters(
- parameters: LimiterRMSParameters,
Update limiter configuration based on new parameters.
- Parameters:
- parametersLimiterParameters
The parameters to update the limiter with.
- pydantic model audio_dsp.models.limiter.LimiterRMSParameters
Parameters for RMS limiter stage.
- field attack_t: float = 0.01
Time in seconds for limiter to start limiting
- Constraints:
gt = 0
le = 1
- field release_t: float = 0.2
Time in seconds for signal to return to original level
- Constraints:
gt = 0
le = 5
- field threshold_db: float = 0.0
Level in dB above which limiting occurs
- Constraints:
ge = -81.27809882927492
le = 12.041199858916709
LimiterRMS Control¶
The following runtime command ids are available for the LimiterRMS Stage. For details on reading and writing these commands, see the Run-Time Control User Guide.
Control parameter |
Payload length |
|---|---|
CMD_LIMITER_RMS_ATTACK_ALPHA |
|
The attack alpha in Q0.31 format. To convert an attack time in seconds to an |
|
CMD_LIMITER_RMS_RELEASE_ALPHA |
|
The release alpha in Q0.31 format. To convert a release time in seconds to an |
|
CMD_LIMITER_RMS_ENVELOPE |
|
The current RMS² envelope of the signal in Q_SIG format. To read the |
|
CMD_LIMITER_RMS_THRESHOLD |
|
The threshold in Q_SIG format above which limiting will occur. To convert a threshold in dB to the |
|
CMD_LIMITER_RMS_GAIN |
|
The current gain applied by the limiter in Q0.31 format. To read the |
|
LimiterPeak¶
- class audio_dsp.stages.LimiterPeak(**kwargs)
A limiter based on the peak value of the signal. When the peak envelope of the signal exceeds the threshold, the signal amplitude is reduced.
The threshold sets the value above which limiting occurs. The attack time sets how fast the limiter starts limiting. The release time sets how long the signal takes to ramp up to its original level after the envelope is below the threshold.
- Attributes:
- dsp_block
audio_dsp.dsp.drc.drc.limiter_peak The DSP block class; see Peak Limiter for implementation details.
- dsp_block
- make_limiter_peak(threshold_db, attack_t, release_t, Q_sig=27)
Update limiter configuration based on new parameters.
- Parameters:
- threshold_dbfloat
Threshold in decibels above which limiting occurs.
- attack_tfloat
Attack time of the limiter in seconds.
- release_tfloat
Release time of the limiter in seconds.
- set_parameters(
- parameters: LimiterParameters,
Update limiter configuration based on new parameters.
- Parameters:
- parametersLimiterParameters
The parameters to update the limiter with.
- pydantic model audio_dsp.models.limiter.LimiterParameters
Parameters for limiter stage.
- field attack_t: float = 0.01
Time in seconds for limiter to start limiting
- Constraints:
gt = 0
le = 1
- field release_t: float = 0.2
Time in seconds for signal to return to original level
- Constraints:
gt = 0
le = 5
- field threshold_db: float = 0.0
Level in dB above which limiting occurs
- Constraints:
ge = -162.55619765854985
le = 24.082399717833418
LimiterPeak Control¶
The following runtime command ids are available for the LimiterPeak Stage. For details on reading and writing these commands, see the Run-Time Control User Guide.
Control parameter |
Payload length |
|---|---|
CMD_LIMITER_PEAK_ATTACK_ALPHA |
|
The attack alpha in Q0.31 format. To convert an attack time in seconds to an |
|
CMD_LIMITER_PEAK_RELEASE_ALPHA |
|
The release alpha in Q0.31 format. To convert a release time in seconds to an |
|
CMD_LIMITER_PEAK_ENVELOPE |
|
The current peak envelope of the signal in Q_SIG format. To read the |
|
CMD_LIMITER_PEAK_THRESHOLD |
|
The threshold in Q_SIG format above which limiting will occur. To convert a threshold in dB to the |
|
CMD_LIMITER_PEAK_GAIN |
|
The current gain applied by the limiter in Q0.31 format. To read the |
|
HardLimiterPeak¶
- class audio_dsp.stages.HardLimiterPeak(**kwargs)
A limiter based on the peak value of the signal. The peak envelope of the signal may never exceed the threshold.
When the peak envelope of the signal exceeds the threshold, the signal amplitude is reduced. If the signal still exceeds the threshold, it is clipped.
The threshold sets the value above which limiting/clipping occurs. The attack time sets how fast the limiter starts limiting. The release time sets how long the signal takes to ramp up to its original level after the envelope is below the threshold.
- Attributes:
- dsp_block
audio_dsp.dsp.drc.drc.hard_limiter_peak The DSP block class; see Hard Peak Limiter for implementation details.
- dsp_block
- make_hard_limiter_peak(
- threshold_db,
- attack_t,
- release_t,
- Q_sig=27,
Update limiter configuration based on new parameters.
- Parameters:
- threshold_dbfloat
Threshold in decibels above which limiting occurs.
- attack_tfloat
Attack time of the limiter in seconds.
- release_tfloat
Release time of the limiter in seconds.
- set_parameters(
- parameters: LimiterParameters,
Update limiter configuration based on new parameters.
- Parameters:
- parametersLimiterParameters
The parameters to update the limiter with.
- pydantic model audio_dsp.models.limiter.LimiterParameters
Parameters for limiter stage.
- field attack_t: float = 0.01
Time in seconds for limiter to start limiting
- Constraints:
gt = 0
le = 1
- field release_t: float = 0.2
Time in seconds for signal to return to original level
- Constraints:
gt = 0
le = 5
- field threshold_db: float = 0.0
Level in dB above which limiting occurs
- Constraints:
ge = -162.55619765854985
le = 24.082399717833418
HardLimiterPeak Control¶
The following runtime command ids are available for the HardLimiterPeak Stage. For details on reading and writing these commands, see the Run-Time Control User Guide.
Control parameter |
Payload length |
|---|---|
CMD_HARD_LIMITER_PEAK_ATTACK_ALPHA |
|
The attack alpha in Q0.31 format. To convert an attack time in seconds to an |
|
CMD_HARD_LIMITER_PEAK_RELEASE_ALPHA |
|
The release alpha in Q0.31 format. To convert a release time in seconds to an |
|
CMD_HARD_LIMITER_PEAK_ENVELOPE |
|
The current peak envelope of the signal in Q_SIG format. To read the |
|
CMD_HARD_LIMITER_PEAK_THRESHOLD |
|
The threshold in Q_SIG format above which limiting will occur. To convert a threshold in dB to the |
|
CMD_HARD_LIMITER_PEAK_GAIN |
|
The current gain applied by the limiter in Q0.31 format. To read the |
|
Clipper¶
- class audio_dsp.stages.Clipper(**kwargs)
A simple clipper that limits the signal to a specified threshold.
If the signal is greater than the threshold level, it is set to the threshold value.
- Attributes:
- dsp_block
audio_dsp.dsp.drc.drc.clipper The DSP block class; see Clipper for implementation details.
- dsp_block
- make_clipper(threshold_db, Q_sig=27)
Update clipper configuration based on new parameters.
- Parameters:
- threshold_dbfloat
Threshold in decibels above which clipping occurs.
- set_parameters(parameters: ClipperParameters)
Update clipper configuration based on new parameters.
- Parameters:
- parametersLimiterParameters
The parameters to update the clipper with.
- pydantic model audio_dsp.models.limiter.ClipperParameters
Parameters for clipper stage.
- field threshold_db: float = 0.0
Level in dB above which clipping occurs
- Constraints:
ge = -162.55619765854985
le = 24.082399717833418
Clipper Control¶
The following runtime command ids are available for the Clipper Stage. For details on reading and writing these commands, see the Run-Time Control User Guide.
Control parameter |
Payload length |
|---|---|
CMD_CLIPPER_THRESHOLD |
|
The threshold in Q_SIG format above which clipping will occur. To convert a threshold in dB to the |