Page 1 of 1

ARC Limiter

PostPosted: Wed Jun 05, 2019 6:40 pm
by Wassaka
ARC are the acronyms of Automatic Release Control. Ok I will explain why is better than normal "manual" release an how it works:
The main problem with the brickwall limiter is: At high release it distorts, and with slow releases, the problems are the transients, which gives to the envelope a false VOLUME. It means that the sound that comes just after the transient will be not compressed and even attenuated, without even having exceeded the threshold, and the transient will be killed as well. The difference between volume and level is that the volume is the intensity with which the human listens to how loud it sounds (RMS for example). The level, expresses the real measure of that audio in digital form (True Peak for example).
To solve the problem, you simply have to lower the release time when there are transients, and upload it when there aren't. Boom then you have back your transients again!!

Important to know: I did not really investigate if this is how the plugins that carry this function work, but it occurred to me to do it this way, and I repeat, I do not know if it is the right way, but I know that my algorithm works. Also if you know how it really works let me know :lol:

I make it public to discuss this and maybe improve it, since on the internet I did not find how the ARC works.
Thanks!! :mrgreen:

Re: ARC Limiter

PostPosted: Wed Jun 05, 2019 6:57 pm
by Wassaka
Ok, I've been looking for some articles and I've seen that the Wacom RCompressor works just like I designed it, I'm glad I got the truth right.
https://www.waves.com/1lib/pdf/plugins/renaissance-compressor.pdf
Now, what I do not know is if the transient meter that I did works as it should. What I did is simply apply a HighPass filter to an envelope (with very low Hz, like 10 Hz), the intuition tells me that this is how the transients are extracted, but I would like to know if this is really the process to extract them, since with my method, the transients would be dependent of the input level...

Re: ARC Limiter

PostPosted: Wed Jun 05, 2019 10:35 pm
by martinvicanek
One or two comments, if that's ok.

The enveope follower should use a better lowpass than the common single pole. You need a better stopband rejection else you will have ripples on your control signal and any processing will result in distortion. But you don't want a ringing fiter either because that will totaly mess up the envelope. Something like a gaussien filter. I had good results with a 4x iterated box averaging filter, posted it earlier on this forum.

Once you have a clean envelope, you can use a highpass fiter to detect transients. The highpass corner frequency should be sightly below the lowpass corner frequency. If you want the detection threshold independent of the current level you could look for rising edges wehere the signal rises by a certain threshold factor withhin the lowpass filter's response time. Somethhing like

if envelope(t) > factor*envelope(t - T) then transient at t

Not sure if this is hepful or even related at all to what you are after.

Re: ARC Limiter

PostPosted: Thu Jun 06, 2019 3:09 pm
by Wassaka
Ok thanks Martin, yes! is what I was looking for, I changed the envelopes of transient detector and limiter, Now it doesn't distorted, there are lattency, but is a limiter, is the only way to do it without distortion. Check it out!
The highpass corner frequency should be sightly below the lowpass corner frequency. If you want the detection threshold independent of the current level you could look for rising edges wehere the signal rises by a certain threshold factor withhin the lowpass filter's response time. Somethhing like

if envelope(t) > factor*envelope(t - T) then transient at t

But I do not understand very well what you say in this paragraph. :roll:

Re: ARC Limiter

PostPosted: Thu Jun 06, 2019 6:16 pm
by wlangfor@uoguelph.ca
This is badass man. I'd like to make this into something fancy if You'd allow Me to use Your name in the credits? I always love new limiters.

Wassaka wrote:Ok thanks Martin, yes! is what I was looking for, I changed the envelopes of transient detector and limiter, Now it doesn't distorted, there are lattency, but is a limiter, is the only way to do it without distortion. Check it out!
The highpass corner frequency should be sightly below the lowpass corner frequency. If you want the detection threshold independent of the current level you could look for rising edges wehere the signal rises by a certain threshold factor withhin the lowpass filter's response time. Somethhing like

if envelope(t) > factor*envelope(t - T) then transient at t

But I do not understand very well what you say in this paragraph. :roll:

Re: ARC Limiter

PostPosted: Thu Jun 06, 2019 7:38 pm
by martinvicanek
Wassaka wrote:But I do not understand very well what you say in this paragraph. :roll:

Maybe this example will help?

Re: ARC Limiter

PostPosted: Thu Jun 06, 2019 8:21 pm
by Wassaka
martinvicanek wrote:Maybe this example will help?

Yes! Thank you!!

Re: ARC Limiter

PostPosted: Thu Jun 06, 2019 9:07 pm
by Wassaka
wlangfor@uoguelph.ca wrote:This is badass man. I'd like to make this into something fancy if You'd allow Me to use Your name in the credits? I always love new limiters.

Thanks!! Ok no problem .. but for non-commercial use. Still it is in beta, so it doesn't work well at all.

Re: ARC Limiter

PostPosted: Mon Jun 10, 2019 2:03 pm
by wlangfor@uoguelph.ca
Wassaka wrote:
wlangfor@uoguelph.ca wrote:This is badass man. I'd like to make this into something fancy if You'd allow Me to use Your name in the credits? I always love new limiters.

Thanks!! Ok no problem .. but for non-commercial use. Still it is in beta, so it doesn't work well at all.


Yeah, whenever You're done. Or We could collab and make a commercial version even.