OctiMax Compressor
agcEnabled | compression-enable-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, enables or disables the compressor.
agcThreshold | compression-threshold (dB) [int] |
The word | , followed by a number, sets the compressor threshold (in dB below full scale). This is the main compression threshold. Any signal above the threshold will be reduced, and any signal below the threshold will be amplified, according to the range and ratio parameters.
attack | attack-rate (0 through 150) [int] |
The word | , followed by a number, sets the rate at which the compressor is engaged when the signal level exceeds the agcThreshold. The value range is 0-150 on a logarithmic scale, with larger values indicating faster attack.
choosePreset | preset-number [int] |
The word omx.comp~ object. These presets are to be considered "starting points" and should be tweaked for your particular purpose or desired sound. The preset options are: 0: Guitar 1: Bass 2: Vocal 3: Drums 4: Program Material - An attempt at smooth "gain riding" of mixed program material as well as can be done with a non-multiband processor. |
, followed by a number in the range 0-4, selects a preset for the
bypass | bypass-flag (0 or nonzero) [int] |
The word omx.comp~. | followed by a non-zero number will output the dry unchanged input signal straight out the outlet without any processing; followed by a 0, will output the signal effected by
delay | delay-time (milliseconds) [int] |
The word | , followed by a number, sets the sidechain delay time (in milliseconds). This emulates the attack characteristics of vintage "opto" compressors, and similar effects. The delay is applied to the control signal only, and hence may result in large peaks at transients.
dualBandEnabled | crossover-enable-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, turns dual band mode on or off. In dual band, a crossover filter around 200hz splits the audio into two bands, which are compressed separately. This can reduce bass pumping and other artifacts of wide-band compression.
channelCoupling | keying-source (0 1 or 2) [int] |
The word | , followed by a number, sets the gain control source as follows: 0 = stereo, 1 = left, 2 = right. In stereo mode, the gain control signal is derived from whichever channel is loudest, unlike in left or right mode where the gain control signal will only be derived from the selected channel. This can be used for "keying" or "ducking" effects, where the energy of one sound modulates the level of another.
gatingLevel | release-gate-threshold (dB) [int] |
The word | , followed by a number, sets the release gate threshold (in dB below full scale). When the signal is below this threshold, the release time of the compressor will be slowed by a factor of 3. See .
freezeLevel | release-action-threshold (dB) [int] |
The word | , followed by a number, sets the freeze threshold (in dB below full scale). When the signal is below this threshold, the compressor release action will be suppressed, and the gain will remain constant. In normal operation, release action takes place when the signal is below the compression threshold, increasing the gain until the signal returns to its full-scale, uncompressed level. If there is no usable signal present, this can have the effect of simply amplifying the noise floor. Release gate and freeze can suppress gain recovery to avoid this condition.
meterData | The word omx.comp~ sends a list of six integers, describing compressor gain (left, right), noise gate gain (left, right), and limiter gain (left, right). | will cause output (by instantaneous command as opposed to metering-interval described by the message) of values which describe the current state of various internal gain levels of the compressor, and can be used to drive GUI objects to provide visual feedback.|
meterRate | data-output-interval (milliseconds) [int] |
The word | , followed by a number, specifies the interval (in milliseconds) at which the meter data described above will be sent.
meters | metering-enable-flag (0 or 1) [int] |
The word omx.comp~ sends a list of six integers, describing compressor gain (left, right), noise gate gain (left, right), and limiter gain (left, right). | , followed by a 1 or 0, turns the metering output on or off. When metering is on, a list of values will be sent from the rightmost outlet at a rate specified by the message. These values describe the current state of various internal gain levels of the compressor, and can be used to drive GUI objects to provide visual feedback.
limEnabled | peak-limiter-flag (0 or 1) [int] |
The word | , followed by a 1 or 0 turns the peak-limiter on or off.
limMode | response-mode-flag (0 or 1) [int] |
The word | , followed by a number, sets the limiter response mode as follows: 0 = punchy, 1 = smooth. Punchy response yields extremely short attack and release times, useful for transparent limiting, or to create loudness. However, if over-used, intermodulation distortion may result. Smooth response uses longer attack and release times. The result is still a fast look-ahead limiter, but with less intermodulation distortion and less punch.
ngEnabled | noise-gate-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, turns the noise gate on or off. A noise gate is effective for reducing background hiss when no other signal is present. Here, it's implemented as a downward expander with a ratio of 2:1.
ngThreshold | noise-gate-threshold (dB) [int] |
The word | , followed by a number, sets the threshold level (in dB below full scale) at which the noise gate will be engaged.
progressiveRelease | release-mode-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, enables or disables the Progressive Release mode, which causes the compressor to release faster during heavy gain reduction. This means that the audio will sound more compressed when the input signal is louder. This can be used to create an illusion of dynamics. It is especially useful with the ratio set to Infinite:1, which could sound over-compressed without this option.
saveSettings | The word | causes all parameter values to be sent out the third outlet.|
sidechainFilterEnabled | keying-attenuation-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, enables or disables an attenuation filter in the upper midrange that makes the compressor less sensitive to vocal signals, and generally produces a more gentle response. This filter is only applied internally, to the control signal. Note that it may cause more output overshoots, where the signal output level exceeds 0dB.
range | maximum-gain-amplification (dB) [int] |
The word | , followed by a number, sets the maximum amount of gain amplification allowed in dB. This limits the gain that is applied when the signal is below the compression threshold. Note that this limiting takes place before the ratio is applied. For example, if the range is set to 24 dB, and the ratio is 2:1, the most gain amplification you can get (after the ratio is applied) is in fact 12 dB.
ratio | gain-reduction-ratio-numerator [int] |
The word | , followed by a number, sets the numerator of the compressor gain reduction ratio, from 1:1 to Infinite:1.
release | release-rate (0 through 150) [int] |
The word | , followed by a number, sets the rate at which the compressor releases its gain adjustment when the signal level no longer exceeds the agcThreshold. The value range is 0-150 on a logarithmic scale, with larger values indicating faster release. This rate can be modified by the release gate and freeze thresholds.
signal | Audio input, the signal or pair of signals to be compressed. | |
smoothGain | smoothing-flag (0 or 1) [int] |
The word | , followed by a 1 or 0, enables or disables gain smoothing. This applies a low-pass filter to the control signal, and is useful both to prevent artifacts (gain fluttering) from high attack/release rates, and to intentionally make the compressor sluggish, adding extra "snap" to transients.
Name | Description |
---|---|
omx.4band~ | OctiMax 4-band Compressor |
omx.5band~ | OctiMax 5-band Compressor |
omx.peaklim~ | OctiMax Peak Limiter |
MSP Compression Tutorial 2: Basic Compression | MSP Compression Tutorial 2: Basic Compression |
MSP Compression Tutorial 3: Tweaking Compression | MSP Compression Tutorial 3: Tweaking Compression |