Page 1 of 1

Lookahead Compressor

Posted: Sat Mar 23, 2013 11:24 am
by gilzad
(Rightclick to save)
Example file
Sunsynth module <- updated for SunVox 1.73 final
Demo file

Ever wondered why you just can't do any brickwall limiting in SunVox? With all that multiband and serial compression, still peaks will come through and the master will never sound as 'snappy' as a good limiter would do. Well, you might have noticed that an attack time of zero doesn't really attack immediately in the native compressor. I was going to suggest a lookahead feature for the compressor, just before I remembered that all the wonderful possibilities are at hand already.

A Compressor with a lookahead feature is able to duck the sound earlier than a triggering peak appears. You get virtually an attack time that goes below zero. This is done by delaying the signal that shall be compressed and by sidechaining the compressor with the same, but undelayed, signal. The later a signal arrives at the compressor's normal input, the earlier it will be compressed by its undelayed copy on the sidechain-input. One thing, that we could not do in SunVox, becomes possible that way: Hard Limiting.

Here's how a mastered output looks like with a bunch of Exciters, Multiband Compressors and final Compressors. As you can see, peaks still get through, although we've entered the stage of hypercompression already:
But if we exchange the last master compressor by a Lookahead Compressor, we get a boosted volume and all the peaks are limited:

What is it good for?
  • Brickwall Limiting / Hard Limiting - Applying this, you can avoid that single peaks of your tune steal your headroom.
  • Less risk of clipping - If you'd render a song in SunVox, you'd usually choose a safe output volume that would be rather quiet. Else you'd risk to have a distortion at some arbritrary point. The limiter avoids clipping even at high loudness.
  • Closer to final mastering - In competitions, where internal Maximizers or Hard Limiters make songs sound richer, you won't stay behind with SunVox anymore. Talking from a design perspective, not encouriging you to join the Loudness War.
  • Punchy sound - Especially for electronic music this type of limiting can add some audible punch and pleasant pressure to your song.
  • If you choose slow attack times and early lookahead times, then you can save transients in your compression
The example file
The example file shows what exactly the Lookahead Compressor consists of and how it's built. You'll see an Amplifier that is connected to a compressor and to an Echo module. And you'll see that the Echo module is connected to the Compressor, too.

What is happening
The Amplifier feeds the Compressor's sidechianing-input. So there's no latency between the Amplifier (labeled 'Input') and the Compressor's sidechaining input. Furthermore the same Amplifier is attached to an Echo module (labeled 'Lookahead') and this Echo module is attached to the Compressor's normal input. The Echo module is used to add latency. So between the Amplifier and the Compressor's normal input, there is some latency. In this example I've set it to 2 ms as I found it works best for hard limiting. Now, whenever a peak from the Compressor's sidechaining-input exceeds its threshold, the delayed signal will be attenuated. As an example, a bassdrum reaches the sidechaining-input first and 2 ms later it will arrive at the compressor's normal input. This way the normal input will be ducked/attenuated earlier. That is by the time the peak arrived at the sidechining-input. That's looking ahead. The compressor knew what was gonna happen before it actually happened.

The demo file
This time the bypass feature is in the demo file, where you can simply unmute the "COMPARE" DSP. Doing this, you'll exchange the Lookahead Compressor by a usual Compressor. You'll notice how the usual Compressor sounds quieter and still its peaks lead SunVox's master output into clipping. Muting the "COMPARE" DSP again, you'll see how a song (well, just a pattern) is being played back together with a complete mastering chain at full loudness. If you feel like, render out the song and see how a maximized waveform appears in your audio editor.

The SunSynth module
The SynSynth module offers all the controls of a usual Compressor plus one for the lookahead feature. Since the inner compressor's side-chaining input is occupied now, it won't be available for anything else anymore (and Metamodules don't route different inputs through anyway). You might notice that these hard limiting configurations have a couple of drawbacks, too. One is the added latency. The earlier you set the compressor to look ahead, the more latency you'll have. That's because the DSP can't look into the future, it'll only buffer the sound a bit longer and compare it to the past. Another drawback is, when you hear clicks and little distortions using limiting parameters. That's just a natural case as hard limiting means that you accepting some distortion to guarantee a specified limit. Luckily we are able to change the attack an release time here. One of my tricks is to compress dull parts with soft parameters and bright parts with hard parameters. By automating the Compressor through the timeline. The idea is, that you won't hear the clipping artifacts in bright moments anyway.

Feel free to respond or to ask any questions.

Thanks for reading and downloading.


edit: Updated the metamodule to use the new and improved native compressor. Very reliable and a much better quality now.

Re: Lookahead Compressor

Posted: Sat Mar 23, 2013 9:11 pm
by Oliv
Just tried it on a recent project where I used your Multiband compressor (well, since you've put it online, I've kind of used it on everything...) but found it missing some peaks...

What can I say ?

You've handed us a very useful tool yet again.

Cheers for the man !

Re: Lookahead Compressor

Posted: Mon Mar 25, 2013 6:48 am
by gilzad
Thank you Oliv!
Can you tell me if it's working for you? If you go for hard limiting, does it flatten your peaks in all songs? It should but I just might have found a very odd case, when it doesn't work for limiting.

Re: Lookahead Compressor

Posted: Mon Mar 25, 2013 6:55 pm
by organic io
Gilli, you are amazing... Keep up the great work! I'm going to load all your metamodules on my Mobilepro before my long train trip this weekend and hopefully use them in some upcoming songs :D

Re: Lookahead Compressor

Posted: Tue Mar 26, 2013 4:57 am
by samrai katt kovboy
Yes Tonight there will be compression of every audiofile!!!
Thanks again for your effort and sharing!


Re: Lookahead Compressor

Posted: Fri Mar 29, 2013 1:56 am
by convergent
It's hard to use this module without the compressor monitor or soundwave visualization. But description sounds delicious, thank you

Re: Lookahead Compressor

Posted: Tue Apr 02, 2013 4:25 pm
by Oliv
gilzad wrote:Thank you Oliv!
Can you tell me if it's working for you? If you go for hard limiting, does it flatten your peaks in all songs? It should but I just might have found a very odd case, when it doesn't work for limiting.
To be honest, it is a bit of tricky to use (well, I guess you could blame my kind of "fuck it" approach to mixing electronic music... :D ).

Also I tend to be very wary about the "loudness war" thing. Since I come from a more instruments-oriented background, I'm always a bit cautious about losing dynamics. So I may not be the best suited guy to answer your question.
I only used it on one song so far, where the peaks where kind of bugging me (plus it's one of my "loud ! LouD !! LOUD ! ! !" projects :-D ). It did the job. I'll let you know if I reach a problem on one of my little numbers.

Your modules should be included with Sunvox. Pure fucking gold.

Re: Lookahead Compressor

Posted: Sun Apr 21, 2013 8:36 pm
by gilzad
Thanks all!

@Oliv: Thank you for the report! Alex was kind enough to fix some issues with the native compressor for SunVox 1.73. I've updated the metamodule to use the new compressor and it's working very reliable now.

@convergent: True, the native visualization is missing. As a workaround I simply chain a normal compressor behind it and set its slope to 0. I can use its visualization to monitor how the signal has been processed then.

Re: Lookahead Compressor

Posted: Tue Apr 23, 2013 4:31 pm
by Oliv
I downloaded the last version yesterday.

And it works like a fucking charm. Thank you ! Now I will have an even harder time refraining from compressing everything to Kingdom Come.

Bottom line, you the man. 8)