Designing Lookahead Article

J F's icon

I came across this interesting article about how to properly design a lookahead for a compressor/limiter. It goes into detail, but all the code is for Juce. Conceptually it seems to explain it in just this post. https://github.com/DanielRudrich/SimpleCompressor/blob/master/docs/lookAheadLimiter.md

How would one go about taking this information and implementing it in Max?

Roman Thilenius's icon

if you analyse the RMS power of an audio signal in windows of 1000 samples, you most likely want to delay the audio you want to process for 500 samples, while not delaying the control signals you derived from the RMS analysis.

the whole process now has 500 ms latency - so everything else which is running in parallel has to be delayed for 500 samples, too.

simply put, all you need is a bunch of [delay~] objects.