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.
|
| 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)
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.
|
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.
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.