Over the past 5 months, we have been working very hard on a new, I would say revolutionary, compressor design. It's insanely dynamic; its response speeds can change by about a factor 1000 depending on the content. We named it "Adaptive" mode, but we're looking for a better (more marketable) name - let us know if you have any good suggestions.
At the moment of writing this, the new compressor is available in Multiband Compressor 1. It will be added to Multiband 2 and the singleband compressors as soon as we've determined that everything is good to go. Based on how it sounds, we're also going to update the AGC to a very similar algorithm.
What was wrong
The "Analog", water pressure based compressor has been our go-to compressor for years. We kept optimzing and improving it, adding things like "Immediate attack" and dynamic speeds to it to make it sound better. Over time, we kept having to add more patches to the original design to improve the audio. And by doing that we got further away from the original design.
Over time, we have obtained some new insights which warrented not a patch of the existing design, but a full redesign.
During the development, we have found that there were many more things wrong than what we were aware of, so we have changed many more things than we originally expected, including windowing and gating.
Goals
The goals of the new compressor were:
- Simplified code
Maintaining the existing code was getting very complicated, due to thngs like feedback mode and squared feedback mode, the way ratio was implemented (as part of the compressor mechanism itself instead of something applied afterwards), and all the existing patches. Making a change without breaking some fringe combination of settings was really hard.
- Extremely dynamic
Basically, the goal (which we have not fully achieved, but we got close) was to make it possible to use a single compressor stage which acts as an AGC, main compressor and final limiter, all in one, which sounds good on both extremely dense and extremely sparse content.
- Good sound even at infinite ratio
Almost all existing presets run their multiband compressors at lower ratio's, and if you don't they tend to sound bad. We still want that to be possible, but it should be possible to sound good at infinite ratio.
- Easy to setup
This was not really a requirement when we started, but it turned out to be possible anyway: The existing processors are very sensitive to the exact attack and release speeds. The new compressor is far less sensitive; its sound will change but it won't easily sound bad.
- Fewer settings
The "patches" made to the previous compressor caused us to add a lot of settings, which made it more and more complex.
The new design
Dynamics
We have made the design such that it stands still on dense content, and moves rapidly on dynamic content. That was already the case when using dynamic attack/release speeds in the older design. But the range would typically be small, like it could slow down or speed up by a factor 2, giving a total range of a factor 4, which helped but wasn't enough - but higher settings didn't sound good.
The new design is much more extreme than this; it can easily get to a factor 100 of speedup when it needs to. Play a song with a loud S, and if the attack is fast so it goes down deep, the release will be almost instantaneous. Which protects against gaps after loud S sounds, which can sound really annoying. By moving this fast, the release is actually almost inaudible.
Similarly, play a sparse song with lots of dynamics and you'll see the meters move all over the place; play a dense song afterwards and they will almost not move at all.
There are two parameters that controls the dynamic behavior: "Speed up release for dynamic audio" and "Maximum speedup". You'll probably only need the first one; it controls how much speedup to apply based on how dynamic we think the audio is (so the value set is not an absolute maximum to the speedup; that's what the 2nd setting is for).
(Even with these settings set to 0, the compressor will still behave more dynamic than the old one, due to how it's designed.)
Attack behavior
The new attack behavior no longer tries to move with a specific speed (which is what "Attack shape" was for). Instead, it constantly determines the optimal speed without looking at its history. An unexpected benefit of this is that it handles extreme content much better, and when presented with such extreme content, it is far less sensitive to the settings. The old compressor would really struggle with extreme content, to use stand-alone you would have needed a "Sudden Jump Protection"-like "hack" like the AGC has. The new design doesn't need that anymore; on really extreme content it will move down rapidly almost regardless of the settings. But if the level difference is small it moves very slowly - much slower than the old compressor, which protects already dense material.