Help Contact

In order to serve you better, this website makes use of Cookies. By clicking "I agree" or by continuing to use this website, you agree to the placing of these cookies.

Using the Adaptive Compressor

In 2023 and 2024, we spent close to a year on designing a new, I would say revolutionary, compressor design. It's insanely dynamic; its response speeds can change by more than a factor 1000 depending on the content. Because of how it works, it can be used without an AGC before it - the compressor on its own is sufficient! We've named it "Adaptive" mode.

(This blog post is an updated version of Beta testing the Adaptive Compressor, which was written half-way development.)

 

Overview

The Adaptive compressor has many unique features:

  • It replaces the whole dynamics chain
    Traditionally, you would use an AGC, followed by one, two, or sometimes even three multiband compressors. Typically, the first stage would have infinite ratio and move slowly, and later stages move faster with lower ratio's. It is pretty difficult to set this up correctly, because a change in one stage will affect the others. If the AGC goes down too slowly, the multiband stage after it might be pushed down too much at the start of a new song, and move up too slowly to compensate for the speed at which the AGC moves down, creating a "gap" in the audio. If the AGC doesn't move down fast enough and the multiband compressor runs at a lower ratio, or behaves more aggressively when it's pushed down, the start of a new song might be too loud. If the AGC uses a single band, and a loud instrument kicks in, the whole audio will be pushed down, resulting in a lowered level for other bands where nothing was happening. While it's possible to work around all these issues and create presets that handle these situations gracefully, it's definitely not easy - and any change made to any stage could require making changes in the subsequent stages again.

  • Extremely dynamic
    The new compressor can speed up by a factor of more than 1000 based on the input material. Feed it already dense material, and it will come to a halt. Feed it extremely dynamic material, and it will jump around (if it's set up to act aggressively). So, even when set up extremely aggressively, it won't make very dense audio (much) worse.

  • 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. At lower ratio's you can basically get away with almost anything. But at high ratio's, anything that goes wrong is extremely noticeable. It is still possible to use lower ratio's, but it was designed to sound good even at infinite ratio.

  • Configure the sound, not the behavior
    Because the compressor responds dynamically to the content, the settings are basically there to tell the compressor what you want it to sound like, not what you want it to do. For example, in extreme cases such as if there's a loud 20 dB bang, the attack will rush down instantly almost regardless of the attack speed that you've configured. For normal level differences, it does listen to your settings.

  • Easy to setup
    So, remember when Stereo Tool was really easy to setup? Well, it is now! The old compressors were very sensitive to the exact attack and release speeds, and you always had to find a compromise between consistency, dynamics and density - and on top of that keep in mind how the different stages affected each other. Because the new compressor responds to the input, it is far less sensitive; its sound will change when you change the speeds, but it won't easily sound bad. And since it's only a single stage, there's far less to configure - and the number of settings is also reduced. Because there's no need to compromise anymore, and because you don't need to worry (much) about extreme cases, it's actually much easier to create a specific sound.

During development, we and a team of "golden ears" volunteers often listened to long recordings of sets of test tracks, all at different levels, with the compressor running with 40 dB action at slow speeds at infinite ratio - and it was basically inaudible.

 

Our design process

We have meticulously analyzed the behavior of many possible compressor designs, to determine what would be needed to make the compressor move dozens of dB's without being audible. Over a period of 10 months, we created hundreds of test setups, wrote a 64-page document filled with analyses, graphs and ideas, which was also read and commented on by our team of voluneer audio experts, many of whom also participated in the (literally) hundreds of listening tests to determine whether our ideas were any good. In how we (Thimeo) used to work before this endevour, we would typically create lots of settings in our software that allows users to figure out what works best. Not this time - we've really tried to find optimal values for many things, and then hid them internally, and only exposed the settings that preset makes really need. It turns out that for a lot of settings, there's only a single value really makes sense.

As mentioned above, it's pretty hard to make this new compressor sound really bad, and it's easy to set up.

 

The new design

Dynamics

The idea is that the Adaptive compressor stands still on dense content, and moves rapidly (depending on settings of course) on dynamic content. It can easily get to a factor 1000 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.

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.

Much of the dynamic behavior is always there, but there is a setting, "Speed up release for dynamic audio", which can be used to speed up even more on dynamic content.

 

Attack behavior

The new attack behavior no longer tries to move at a specific speed. Instead, it constantly determines the optimal speed. It handles extreme content much better, and when presented with such extreme content, it is far less sensitive to the settings. Most compressors really struggle with extreme content, and in Stereo Tool you used to have to use "Sudden Jump Protection" in the AGC to avoid extreme output levels. The new design doesn't need tricks like that; almost regardless of the settings, it will move down rapidly on extreme content. But if the level difference is small it moves very slowly, protecting already dense material against further degradation.

Old vs new attack behavior

Old (left) vs new attack behavior.

You can see that the old behavior moved in more or less a straight line. Due to that, if there's suddenly loud audio, it takes a long time for the level to go down, forcing you to use a very fast attack time to handle dynamic audio.

On the right, the start of the attack is much faster, and because this shape is always observed, depends less on the exact attack setting. So you can get away with much slower attack settings. And as you can see on the right, for smaller differences, it moves a lot slower - it (litterally) takes forever to reach the target level.

Release behavior

The release depends on audio level predictions, based on past audio. While the current input level can have some impact, it mainly responds to what it expects to see next.

For example, after a short loud S sound, it doesn't expect more of that so it will release nearly instantly. With short bass kicks (which will likely be limited or clipped on FM) , the quieter parts in-between are pulled up a lot, but quieter parts in sustained bass are not raised much to maintain the dynamics. All of this results in a very consistent sound.

Bush - Cold Contagious

Old vs new

The highs from the song Cold Contagious by Bush. Top is with the old compressor with similar sounding settings, bottom is the new compressor; The bottom looks much more even.

What's also clearly visible is that when the quieter section ends (just before the end of the waveform), the first loud hi-hat is far too loud in the old compressor, which makes it sound like all the highs disappear afterwards when the highs level drops to where it should be.

Too quiet dense audio

Something that could occur in the old compressor, and to a lesser also in this new one, is that very dense audio comes out quieter than dynamic audio, especially for slow attack with fast release. This is easy to explain: During dynamic audio we constantly release, and if after releasing a new loud sound starts it will play at a higher level because we still need to attack to push the level down. For dense audio, the compressor doesn't release much, so it stays all the way down. A similar, and also annoying, effect is that loud vocals in otherwise dynamic audio can be pushed down too far.

If you actually measure the level of the output audio over some amount of time it's often not even that far apart. But to our ears, it sounds much louder because we focus on the spikes in the audio, not on the average level; we kinda ignore moments of silence.

Typically this is solved by using lower ratio. So with an AGC set to infinite ratio, followed by a compressor with a lower ratio, this problem is mostly gone - the loudest (typically densest) parts of the audio will still come out louder compared to not so loud input. But this is definitely not ideal, and it hides the issue instead of solving it.

We have added a new setting, "Make dense audio louder", to handle this. With attack set 10 times faster than release, you typically need 1-2 dB here. If you set release faster, you need more. The best way to test is with dynamic songs with very loud, long vocals; if any ducking is completely gone, you've set it high enough. For very fast release speeds, see the section about "Detection" below as well.

Nervo - We're All No One

A song with a dense section, without (top) and with (bottom) dense audio boost. Most of the song is unaffected but the dense part is several dB's louder, which sounds more natural.

Windowing

Our new intelligent windowing design allows you to use very large windows, even a 12 dB window won't cause any major issues. All it does is to make the audio more dynamic within the window range. So this works great in combination with very fast attack and release times.

You can choose between 2 window types: V-shaped (normal) or U-shaped. A U-shaped window has a large area in which almost no movements are possible, so if you use a U-shaped window, you'll have to make it a lot smaller.

We recommend to first set up the compressor to sound good overall. Then add some windowing to create more punch.

 

Gating

Casper the Friendly Gate

Gates are scary. They can make you get stuck at some level. So we added Casper the Friendly Gate, which isn't scary at all. It acts indirectly on internal controls, which makes its behavior very smooth. If you use high release speedup values for dynamic audio, using the Casper gate will tame it down a lot, but without loosing the speedup.

So always set this up first. And then use the other 2 gates if needed.

Another Brick In The Wall

Another Brick In The Wall by Pink Floyd. Top: WIthout Casper gate. Bottom: With Casper gate set to -12 dB. Most of the song is unaffected, but the start of the song that contains a lot of near-silence doesn't get boosted to extreme levels anymore.

Input gate

This is the input gate as it's also present in the AGC. If the input level drops below some threshold we slow down or stop.

You can set a target attenuation level to move towards ("return to home") during gating. That only responds to the input gate.

 

Dynamic gate

This is somewhat similar to how the gate worked in the old multiband compressors. But the way it worked, we looked at the input level comprared to the current attenuation level; with a fast attack a single loud sound could get you stuck in gating. The new Dynamic gate responds to the average level over some amount of time, which is a lot safer. Still, use this one with care - this is the only gate that can get you stuck at a weird level.

 

Level drops

This works the same as before; use this to release faster if the level drops a lot. Use gating to control when the speedup stops.

 

Detection

The setting that controls if you're using RMS or peak mode is now just a checkbox. We only have 2 modes.

Important: Even in peak mode, the RMS size is still being used! So make sure to set that up even in peak mode.

Peak mode is currently very CPU intensive; we still need to optimize the code.

 

Channel and band linking

The combination of channel and band linking has always been broken! Also, we now changed band linking to use difference in dB's, not in percentages.

If you're using multiband compressor 1 as an AGC as well, you'll probably need to set up band linking to make it sound good; without it the bands can get very far apart, which tends to sound bad.

 

Limiting

The existing limiters in the previous compressor generations had an infinite attack speed with lookahead. That seemed logical, but it turns out that that's actually not that great for the sound. Aside fromt hat, limiting always tends to cause destruction in the audio, especially if it keeps happening constantly. So we have created 2 different types of limiters in the new compressors.

Intellilimiter

The Intellilimiter works together with the main comprsesor in an intelligent way. If we limit a lot, that also affectst he total level of the compressor. Which in turn responds by releasing faster, so we build a bit more density, but without constantly limiting a lot because we go over the threshold. With how the Intellilimiter works together with the normal compressor, the end result sounsd completely natural, and not limited at all.

Audio without and with Intellilimit

Here's the same audio, processed without Intellilimit on top, and with Intellilimit at the bottom. What's clearly visible is that not just the highest peaks got reduced (as a direct effect of the limiting), but lower peaks are also reduced. The end result is a more dynamic, less restrained sound. Also, short loud sounds may not have much effect on the measured level, but they still sound loud to our ears, so reducing them and everything around them actually sounds more natural.

While it's not really visible in this waveform, the quieter parts are still quieter. In that regard the Intellilimiter behaves a lot like the Casper gate; it tames down the audio. But where the Casper gate looks at how quiet the quiet sectons get, Intellilimiter instead looks at how loud the peaks are after compression.

Using the Intellilimiter has more impact on overall loudness than using a normal limiter, since it also affects the audio between loud sounds.

The Intellilimiter can run in peak or RMS mode. Since the compressor responds to Intellilimiter, if the latter 's running in peak mode, some peak effects will be introduced in the compressor behavior.

Limiter

The (normal) limiter is mainly used to protect against very loud sounds, which would sound too loud or cause problems for the final clipper. We recommend to use this in tamdem with the Intellilimiter, to precisely control how much "real" limiting you want to perform. Where the Intellilimiter mainly affects loudness, the real limiter has much less impact on loudness, but will hurt the audio quality more. Using the two together gives you very precise control over how much you want to have of each.

The limiter always runs in peak mode, the Intellilimiter can run in both peak or RMS mode. If you're planning to combine the two, it's probably a good idea to run the Intellilimiter in peak mode and use the same attack speed for both. If you do that, the maximum amount of real limiting should be close to the threshold difference between the two. So if the Intellilimiter is set to 2 ms, peak, 10 dB, and the real limiter is set to 2 ms, 12 dB, typically the real limiter should rarely have more than 2 dB effect on the output. (It might also be interesting to experiment with other combinations; we have not yet tried that).

 

Detection

You can choose between RMS and Peak mode. RMS mode gives the best consistency if you measure the resulting levels, and works great when the compressor is running at lower speeds. At high speeds, Peak mode tends to sound better - RMS mode can pull up quiet sections more than you probably want, and loud vocals can be pushed down. While much of this can be compensated by using the "Make dense audio louder" setting, at very high speeds, Peak just sounds better.

For similar behavior, in Peak mode the Intellilimit settings need to be lowered by about 1 dB, and Casper Gate by about 4 dB, to get similar behavior as for RMS mode.

Bass band in two presets using the old compressor, vs one using Adaptive mode. The new one is clearly much more consistent in levels, and it also sounds much better.

Use on FM

The Adaptive Compressor can keep the sound very open, while fully controlling consistency. That sounds great, but it may cause issues on FM, when using pre-emphasis. The clipper will remove the spikes in the highs, making the overall sound much duller than it is on non-FM outputs. For the highest bands, I recommend raising the compressor thresholds and lowering the limiters by about the same amount (actually slightly more) to compensate. For non-FM output, the amount of highs will stay the same (it's just slightly less dynamic). Basically, quiet highs get louder, while the peaks get slightly lower. The big benefit of this is that with pre-emphasized clipping for FM, the highs are affected far less by the clipper, resulting in a much brighter sound on FM. For the Adaptive Bass Monster Dense preset, I have raised the compressor thresholds for bands 4 and 5 by 2 and 4 dB respectively, and lowered the limiters, clippers and Intellilimit values by 2.5 and 5 dB, respectively.

 

Parallel compression

As described above, the typical use of the Adaptive Compressor is to use it on its own, without any AGC or other compressors before or after it, at infinite ratio. And it sounds good that way! But, as we've already mentioned above, if you run at a lower ratio you can get away with almost anything without sounding bad.

So here's a neat idea: What if we could run Adaptive Mode such that it runs at 1:2 ratio, but still has full dynamics control? Well, there is a way to do that: Parallel compression.

Instead of the traditional design of putting multiple compressors after each other at lower ratio's to hide many of the bad things they do, we can run them alongside each other, still at infinite ratio. They both receive the same input audio, and at the end, we combine the outputs. If the output levels of both compressors are similar, that leads to something that sounds close to 1:2 ratio. So as long as both presets don't do something that we don't like at the same time, this will almost completely hide the effect. But the end result is still as consistent as it was before.

You can combine Multiband 1 and Multiband 2 in Stereo Tool, both running a completely different preset - even the number of bands can be different. So, we recommend to create (or let different people create) 2 presets, and then mix them. There is a button with which you can copy settings from Multiband 1 to Multiband 2, and a slider which lets you balance between the two, so you can easily combine 2 existing presets that use Adaptive mode. For 1:2 ratio, make sure both have approximately the same output (both in level and spectrum, on average anyway).