The CX Plugin



I created a new plugin today. I call it CX for lack of a better term.

Well regarded mixing engineers have been doing parallel bus compression on their output mixes. They typically send all channels except the drums and maybe the bass to that side channel. Then the channel is compressed and blended back into the final mix.

The effect fattens up the low level sounds while leaving the peaks alone. We have discussed this NYC Compression many times, and here is another example of its popular use.

So, after looking at Bongiovi’s trick of using paired, complementary, low-shelving filters with a compressor in the middle, I thought I’d extend on that idea to do parallel compression. Bongiovi’s DPS just appears to look at the compressed output. The new CX plugin takes the additional step of blending the compressed output back into the dry signal.

When doing any kind of A/B comparison between two audio sources you must take great pains to loudness equalize them or else you will be misled into believing that whichever track is louder, is the winner. Even an almost imperceptible loudness difference of 1/2 dB can make a difference here.

I initially tried to perform automatic gain balancing in this plugin. But I found that doing so is fraught with ambiguity. Which part of the song should be level balanced? In the end, achieving level balance must be left to the listener, aided with metering.

When CX has been properly adjusted, the effect in/out is very subtle, but mostly pleasant. It isn’t doing anything that couldn’t be done on a mixing board. But the reason I created it was because it is too cumbersome to do A/B testing when the input track must be gain reduced and sent into a parallel compression channel.

There were just too many buttons to press quickly to perform an effective A/B test to see if it really helps or not. So I created the plugin as an insert effect that you can A/B test with a single bypass button, and gains will be kept loudness matched between the in and out positions.

The result is more subtle than I had expected, but that’s probably in its favor. It does boost the faint level sounds, but it also pays attention more uniformly across the audible spectrum to where the important things going on are happening, without being dominated by pounding bass levels. And that interesting spectral region varies across the music, being the highs in one place, the midrange at another, and the bass in yet another.

The signal flow runs the dry signal through an attenuator, adjusted by you to produce equal loudness when the effect is processing versus bypassed.

Then the dry signal is sent through a low-shelf filter tuned to 1 kHz, with -24 dB of gain in the bass region. The Q is 0.707, which is steep but without any overshoot. The gain at 1 kHz is -12 dB. Low bass is fully attenuated and high treble is unaffected. But most music shows a relatively flat spectrum at the output, from bass to up around 5-6 kHz.

This flattened signal is then sent through a compressor with adjustable threshold, ratio, makeup gain, attack and release times. Compression is based on the max of the RMS average over the attack and release portions, not the peak instantaneous level.

That means that a soft passage with a low RMS level will be hardly affected by a loud impulse much shorter than the averaging interval. But that impulse will go through with the boosted gain for that low RMS level. So the effect not only brings up the low RMS levels, but also enhances the sharper variations in the music during softer passages.

I am using exponential averaging on the max RMS between left / right channels. Both channels are affected equally by the compressor to maintain stereo balance.

The output of the compressor is sent through a mirror image low-shelf filter tuned to 1 kHz, gain of +24 dB, and Q = 0.707. That puts back the bass that we removed going into the compressor.

Then the output of this processing chain is added back to the attenuated dry signal.

If things are set up properly, you will hear no shift in loudness when you bypass the effect. Only then can you do a valid A/B comparison to see if it is helping or hurting the sound. I find that it does subtly help, but it isn’t in your face. (does it sound better just because it is ever so slightly different? maybe…)

To get it set up properly, I usually look at an RMS meter on the raw track to see where it spends most of its time over some looped portion of audio. Then since we are removing 24 dB of bass, I’ll mentally subtract that 24 dB from the average RMS level and dial that in as my threshold.

I like to choose a musical compression ratio, and we know that a ratio of around 4.5 is psychoacoustically pleasing. For attack times, I like to choose between 10 – 20ms to give the sound a chance to boost the attack envelope of impulsive sounds before it starts cutting back on the signal with compression. For release, you get varying effects between fast releases and long releases. Right now I’m enjoying release times of 5 sec. which keeps the sound under compression between beats, after the first attack.

I get the plugin loudness matched by placing an LUFS meter before and after the plugin. Then I watch those readings over the looped section of music and make adjustments to the input Attenuation control until they are within 0.5 dB of each other. Because of compression, it isn’t a simple linear effect, meaning that if you see a difference of 3 dB fore and aft, that doesn’t mean that 3 dB of attenuation will be all you need. You might need less. After a few iterations, I’m usually less than 0.5 dB apart, and ready to start my A/B tests.

Note that every time you shift the threshold, the ratio, or the makeup gain, you’ll need to rebalance the loudness levels, unless you are just plain satisfied with the results.

  • DM


Author: dbmcclain

Astrophysicist, spook, musician, Lisp aficionado, deaf guy

Leave a Reply