This version (25 Jun 2012 21:40) was approved by William Jahn.

Standard Independent RMS

Click here to return to the Dynamics Processors page

The Standard Peak Compressor is a stereo compressor that allows direct control over threshold and ratio. In the pop-up GUI, graphical controls are given for threshold, ratio, and time constants. Also there are visual indicators showing input, output, and compression levels. The detection signals used for this Peak compressor, are independent for L and R channels. The detection signal can be linked in which case the greater signal of L or R will drive the compression.

Input Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Audio Input Ldecimal - audioLeft Channel audio input
Pin 1: Audio Input Rdecimal - audioRight Channel audio input

Output Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Audio Output Ldecimal - audioLeft Channel compressed Audio Output
Pin 0: Audio Output Rdecimal - audioRight Channel compressed Audio Output

GUI Controls

*The GUI Controls for this block exist on another window. Click on the Compressor icon to open the following Compressor window that contains the following Compressor controls:

GUI Control

GUI Control NameDefault ValueRangeFunction Description
Threshold (dB)0-96Controls the threshold point of compression/expansion.
Compressor100100 - 1Controls the ratio of Compression. The number selected in this box is interpreted as the ratio N:1 for compression above the threshold point.
Expander1100 - 1Controls the ratio of Downward Expansion. The number selected in this box is interpreted as the ratio N:1 for downward expansion below the threshold point.
Knee11 - 100Controls the hard/soft knee relationship of the curve. A knee allows a more gradual calculation of the curve around the threshold point, with “1” being a hard knee, and “100” being the softest.
Input Gain (dB)0-96Controls a gain that is applied to both Left and Right prior to the compression. Allows for the curve to be shifted left and right.
Attack (ms)721- 500Controls the amount of time before the compressor reacts to an input signal that has exceeded the threshold point.
Hold (ms)00 - AttackControls the amount of time the compression level is held before reacting to a new change in input signal level. The max hold time is limited to the Attack time setting.
Release (ms)868Jan-00Controls the amount of time before the compressor reacts to an input signal that has dropped below the threshold point.
LINK Both Channelsunchecked (0)0 - 1Turns the LINK capability on or off. When the algorithm is UNLINKED, the compression is independent for Left and Right Channels. When the algorithm is LINKED, whichever channel is greater, will drive the compression.
Level Indicatorsoffon/offTurns the Indicators on or off. There is no DSP function associated with this.

DSP parameter Information

GUI Control NameCompiler NameFunction Description
StdPeakCompressorAlgIndp1When the Threshold, Compressor, Expander, or Knee values are changed, 34 parameters are written to the DSP to represent the gain curve displayed in the window.
Input GainStdPeakCompressorAlg1IndpattenuationWhen the Input Gain is changed, the dB value is converted to linear and written to the DSP.
AttackStdPeakCompressorAlg1IndpPeakWhen the Attack time is changed, a new value is calculated and written to the DSP to control the reaction time.
HoldStdPeakCompressorAlg1IndpholdWhen the Hold time is changed, a new value is calculated and written tot he DSP to control the hold time.
DecayStdPeakCompressorAlg1IndpdecayWhen the Decay time is changed, a new value is calculated and written to the DSP to control the reaction time.
LINK Both ChannelsStdPeakCompressorAlg1IndplinkedWhen the LINK is selected on/off, a boolean value is written to the DSP to determine how to execute sections of code for this behavior.

Algorithm Description

The Standard Independent Peak Compressor is meant to function like most other SimgaStudio peak compressors. The performance and main algorithm driving the Standard Peak is the same as the other compressors in the same library folder (Peak - Standard Resolution - Lower Range). The main differences are outlined here:

  • Compression Curve control over threshold and ratio vs. 33 customizable points
  • Attack/Decay time constant control in (ms) vs. (dB/s)
  • Visual Indicators of Input, Output, and Compression levels vs. no visual indicators
  • Fine Tune controls of Knee vs. Soft/Hard boolean control
  • Linked/Unlinked detection vs. Ext/No Ext Detection method*

*The detection method for this algorithm is unique to this algorithm and differs from the other compressors in the same library folder. Independent monitoring is done for the left and right channels. Thus a detection signal is generated for both left and right channels. Depending on whether the algorithm is linked or unlinked, will have different behavior in terms of how the output gains are selected for left and right. The ability to have the linked/unlinked behavior is a real-time control.


The detection signals for left and right will independently drive the gain curve. Both channels follow the same curve, but depending on the detection level, different gains will be selected from the curve to be applied for left and right.


The detection signals for left and right will be compared. The larger of the two detection signals will be used to drive the gain curve. Thus the same gain compensation will be used for left and right.

If an average between left and right channels is desired for the detection method, the Standard Peak compressor should be used.


This is an example of the compressor being used directly on the input signal. The compressor is connected to an external Volume Control for a post gain level before sending to the outputs.

Algorithm Details

Toolbox PathRMS - Standard Resolution - Lower Range - Standard Independent RMS
Cores SupportedADAU144x
“Grow Algorithm” Supportedno
“Add Algorithm” Supportedno
Subroutine/Loop Basedno
Program RAM137
Data RAM39
Parameter RAM47
resources/tools-software/sigmastudio/toolbox/dynamicsprocessors/standardindependentrms.txt · Last modified: 25 Jun 2012 21:40 by William Jahn