loudness matching for plugin chains

Understanding the actual effect of plugins on a signal chain, without perception being colored by loudness changes, is crucial.

Use case: User is evaluating the effect of an EQ, compressor, and limiter on a bass track. The user wants to listen to the exact change to the signal without being steered by an increase/decrease in overall volume (which, due to Fletcher-Munson and the effect of loudness itself) can unduly influence perception of the changes being made.

Current workarounds:

  1. The user can buy specialized plugins for this task, such as MeterPlugs Perception, TB Pro Audio’s AB_LM and Melda MCompare. These plugins work pretty well, but they’re a hassle to set up (two instances per channel - a feeder instance at the top of the chain and an evaluator instance at the end of the chain) and they’re expensive relative to their functionality. Advantage is the continuously integrating loudness matching for precision.

  2. More imprecisely, the user can utilize loudness meters to roughly match loudness manually. This is also a bit of a hassle because the user has to set up metering correctly and make manual level compensation changes every time a change is made to the chain.

  3. Also imprecise, the user can “eyeball” it with their ears. This avoids the hassle and expense of setting up meters or specialized plugins, but it will likely be the most frustrating, time-consuming approach.

Feature Request: Include optional loudness compensation as an integrated part of the plugin system in Cubase (similar to the Smart Bypass in WaveLab, but using a more accurate algorithm like MeterPlugs’ ).
The user could:

  • turn on overall loudness compensation for each track (keeping levels consistent regardless of plugins used); or
  • set numbered “in and out” points for each loudness compensation thread. For example, the user could set the source (starting “in” point) before a specific plugin on a bass track, and set the compensation (adjustment “out” point) after a specific plugin on the master buss. (For lateral-thinking examples of this sort of numbered matching scheme, see Blue Cat Audio’s metering plugins, where tracks can be assigned numbers and all represented within one plugin instance. Not a direct analogy, but the numbering idea is similar.)


This sounds like it would be a good addition to the channel strip as another mini-plug. You could enable/disable, have one knob to set how much level matching, and a few meters to check differences.

Additional thoughts?

I like the idea, I can’t imagine having something like this until like version 11 or later.

Seems like a big development commitment from them. Anyways, +1

+1 Great Idea!


Personally, I would like to see the option to have a small meter that measures the difference between the input and output volume of each plug-in effect. In addition, a small trim slider that you could easily adjust to properly gain stage your chain. There could also be an option button to auto adjust the gain to match the input and output levels for the entire chain if that is what you prefer.

The extra metering may use quite a bit of extra CPU so it should be optional for those who have older computers. However, if it were coded to only meter the chain on the selected channel, it shouldn’t be too heavy.

If the infrastructure to provide this feature is built (tapping the input signal at two locations), it might not be a huge stretch to extend that capability to provide a differences output - flip the phase on the “after” signal (that signal having been first level-adjusted) and mix that with the “before” signal. The result would be just that which is different between the signal at the “before” tap and at the signal at the “after” tap.

Agree with everybody. It’s something you frequently need, and very very important. It’s also something that should be used only when adjusting the insert (or whatever). Otherwise, the fader loses its meaning. So you’d start at a particular level, engage level matching, make the tweak, do your A/B, (repeat tweak + AB as needed), disengage level matching and fader sets itself to appropriate level. Alternatively, level in and out meters that allow you to make a match manually. We have to be a bit concerned about a proliferation of processes continuing to run when they are no longer relevant, which would tax the CPU and create confusion.

BTW, I believe we have this kind of thing on the Studio EQ insert (auto gain).

There’s a problem of how you define loudness. If I bring down the low end and push up the middle, I might keep the same level, but it might sound louder due to Fletcher Munson. Then there’s the problem of stereo. Do you apply a weighting curve to each channel separately? If so, then what happens when you adjust the pan? How much load does this add?

[Edit: 2 days later]

OK, so not only do we have automatic make-up gain on a lot of inserts, but you can also add an FX track to your project and route thru that. (So instead of going from input bus 1 to output bus 2, you go input bus 1 to FX track, and FX track goes to output bus 2). Placing the FX track next to the tweak track, you’ve now got 2 VU meters side by side in the mix console, and you can put your FX on the FX track, and tweak them there. Even use insert bypass to do A/B.

Suppose you have inserts I1, I2, I3, and I4, and you’re trying to adjust I3. Then you could leave I1 and I2 on the original track, put I3 on an FX track, then put I4 on a 2nd FX track, and chain them together:

    Original Track     FX track 1    FX track 2
=====================  ==========  ===============
input 1 --> I1 --> I2  --> I3 -->  I4 --> output 2

You can see the input to I3 on the VU meter of the original track, the output of I3 on the VU meter of FX track 1. You get the ultimate sound (including I4) on output bus 2.

Therefore, I think this is something we can work around (in terms of level matching) as illustrated. Loudness matching might be another matter. I admit the work around is a tad awkward, but I could live with it.