Compressor

The purpose of the Compressor audio object is to reduce the volume of loud sounds that exceed the certain threshold, while leaving quiet sounds unaffected. This is achieved by remapping the dynamic range of an audio signal to a smaller range. When the input signal rise above a predetermined threshold, the Compressor module weakens it, effectively lowering the dynamic range of the signal.

The Compressor audio object supports in-place computation based on the core type.

The Compressor audio object supports API resetObjectHistory, calling which would clear all the history data gathered over the audio and the internal states are restored to initial values.

The Compressor object supports two modes of operation. In Multi Set mode, the channels will be linked to configured sets. Each set will be tuned independently, and set attenuation will be applied uniformly to linked channels.

Use Case: Compressor audio object is perfect for usage as multichannel noisegate, limiter, and compressor to safeguard audio processing against unusual high amplitudes. Otherwise – the usage as audiophile stereo compressor in the signal path to achieve more audible density might not have the expected performance.

The compressor has two operating mode, namely One Set and Multi Set, and does not expose any variables to control.

Compressor Properties

Below table describes about the Compressor audio object properties and functionality.

Properties Description
# of Channels Enter the number of channels. The number of audio channels it can process is configurable in the SFD and each channel has its own set of specifications.

  • Range: 1 to 255
  • Data type: uint
  • The default value is set to 1.
Max. delay [ms] Specify the maximum possible delay for the audio object. It is applicable to all the audio channels. Maximum delay in msec (m_NumElements)

  • Range: 1 to 5000
  • Data type: ms
  • The default value is set to 1.

The number of channels and maximum delay are the configurable parameters in the SFD.

Display Name Display name of the Compressor audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Compressor audio object supports two modes of operation.

  • One Set
  • Multi Set

Mode Description
One Set Tuning will be applied for all the channels. State variable: Attenuation will be updated at each instance (not per-channel basis)
Multi Set

Channels will be linked to different sets in this mode. Additional parameter: Number of Sets can be configured for channel linking. Each set of linked channels can be tuned with set based tuning parameters such as Compressor Threshold, Release time, Attack time, etc. Common tuning parameters are applicable for all channels irrespective of their linked sets. 

State variable: Attenuation will be computed separately for each set.

Channel <n> SetId parameter can be used to link the channel n with any of the available configured set.

Additional Parameters

The Compressor audio object has one additional parameter, named Number of Sets.

Properties Description
Number of Sets To configure the number of sets for grouping and linking the available channels. Configurable only when Object Mode: Multi Set is enabled.

  • Range: 1 to Number of Channels
  • Data type: int
  • The default value is set to 1.

Tuning Parameters

All Compressor audio object parameters are shared in One Set object mode. This means that there is only one set of parameters, common to all the input channels, that controls a single instance of the audio object.

In Multi Set object mode, the tuning parameters for each set can be used separately for the channels linked to it. The common tuning parameters are applicable for all the channels irrespective of their linked set.

Below table describes the tuning parameters of Compression audio object.

Parameter Description Data Type Unit Default Offset Range
Compressor Threshold

Level of the compressor activation.

In Multi Set mode, it will be part of set tuning parameters.

Float db -30 0 -120 to 0
Attack Time

Time needed to compress signal to the target value. The signal level is reduced by 6 dB in this duration.

In Multi Set mode, it will be part of set tuning parameters.

Float s 0.02 4 0.001 to 0.5
Release Time

Time needed to restore original level of the signal after its return below threshold. The signal level is restored by 6 dB in this duration.

In Multi Set mode, it will be part of set tuning parameters.

Float s 0.05 8 0.001 to 0.5 
Compression ratio

Amount of compression applied to signal when its level is above threshold.

In Multi Set mode, it will be part of set tuning parameters.

Float None 3 12 1 to 100
RMS Smoothing (A)

Coefficient of the RMS filter used for calculating RMS level of input signal.

In Multi Set mode, it will be part of set tuning parameters.

Float  None 0.8 16 0 to 1
Knee width/Soft Knee

The half width of smooth transition band around threshold point.

In Multi Set mode, it will be part of set tuning parameters.

Float dB 3 20 0 to 120 
Make-up (after) gain

Value of additional gain applied to the output signal.

In Multi Set mode, it will be part of set tuning parameters.

Float dB 0 24 -128 to 20 
Noise gate threshold

Level of the noise gate activation.

In Multi Set mode, it will be part of set tuning parameters.

Float dB -128 28 -128 to 20 
Bypass When this value is equal one the compressor is transparent.

  • 0 – disabled
  • 1 – enabled

In Multi Set mode, it will be part of set tuning parameters.

ULong  None 0 32 0 to 1
Look ahead buffer size (Delay)

Amount of time that the input signal is delayed  to apply compression gain.

In Multi Set mode, it will be part of common tuning parameters.

Float s 0 36 0  to Max Delay
LP coefficient b0 

Antialiasing filter’s b0 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 1 40 0 to 1
LP coefficient b1 

Antialiasing filter’s b1 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 0 44 0 to 1
LP coefficient a1 

Antialiasing filter’s a1 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 0 48 0 to 1
Noise gate bypass

This is used to bypass noise gate functionality completely. When set to 1, the noise gating is disabled.

In Multi Set mode, it will be part of common tuning parameters.

ULong  None 0 52 0 to 1
Channel <n> SetId

To link the channel <n> with the available configured sets in Multi Set object mode.

This tuning parameter is available only in Multi Set mode.

ULong None 0  56 0 to (Number of Sets -1)

State Parameters

Parameter Description Data Type Unit Default Offset Range
Attenuation Indicates the amount of the computed attenuation when the compressor is active. For One Set object mode, the computed attenuation is applied on all channels. For Multi Set object mode, the computed attenuation at each set will be applied only to the channels linked to that particular set. Float dB 0 60 0 to 128

Control Parameters

There are no control parameters available for Compressor audio object.

_________________

Rate this post!