multiband compressor / expander
mb dynamics is a multiband compressor / expander. It works on band levels relative to broadband level. A mode is available for setting thresholds to the average levels of the input. An auto gain function lets recover the input broadband level on the output.
Working with relative levels is useful for controlling narrow band dynamics independently of broadband level -say, a harshness / muddiness / etc that is not constant but happens both in loud and soft passages, so a fixed threshold doesn't work well. I made this not to replace other multibands, but to avoid resorting to complex sidechaining setups when they fall short. I also use it for broadband processing (on a mix, a submix, a piano take) to make the general tone more uniform, bringing dissimilar parts closer to an average. For that use, the "get" mode makes a guess of that average and sets thresholds to it. Sometimes I use this function alone to get some insight and then set a fixed eq, especially when the material is dinamically all over the place so the average spectrum over-represents loud parts.
v1.1: Added controls ("x") for excluding individual bands from the calculation of broadband level. This allows, for example, to control a high band independently of a low end that comes and goes, by taking a broadband level without the low end.
v1.2: Out gain section restructured. Static out gain is now smoothed, out gain lookahead works whether auto is active or not. Out gain is set to zero when get mode is active. Added an overview diagram to the manual.
v1.3: Added an A/B mechanism to switch between two sets of parameter values.
v1.4: Added a display for transition (between threshold and group delay). Changed the behavior of global threshold when get mode is active (now it does nothing). Added GUI references to the manual. Other minor adjustments.
v1.41: Moved the A/B snapshots to a separate bank, so they don't cause a "no free snapshot" when trying to add to the main bank.
v1.42: Offset (an internal parameter recalculated on each crossover control change) is now driven by an iteration instead of an audio rate timer, so its effect is not delayed (this caused a gap in dynamic gain when a crossover was turned on).
v1.5: Buttons are now flat, boxes are borderless, all curves are antialiased, other minor adjustments.
v1.6: Added a BLEP-like correction to output detectors to smooth the edges between attack and release. The effect is very subtle, but I think it's worth the slight overhead (~5% relative, ~0.5% on my CPU for the stereo version with all bands active).
v1.61: Tiny tweak in the BLEP macros.