If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
ARC Limiter
9 posts
• Page 1 of 1
ARC Limiter
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
I make it public to discuss this and maybe improve it, since on the internet I did not find how the ARC works.
Thanks!!
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
I make it public to discuss this and maybe improve it, since on the internet I did not find how the ARC works.
Thanks!!
- Attachments
-
- ARC LIMITER.fsm
- v1.0
- (2.28 MiB) Downloaded 1030 times
- Wassaka
- Posts: 85
- Joined: Wed Dec 30, 2015 3:41 am
Re: ARC Limiter
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...
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...
- Wassaka
- Posts: 85
- Joined: Wed Dec 30, 2015 3:41 am
Re: ARC Limiter
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.
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.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: ARC Limiter
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!
But I do not understand very well what you say in this paragraph.
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.
- Attachments
-
- ARC LIMITER v.2.1.fsm
- v2
- (2.41 MiB) Downloaded 1023 times
- Wassaka
- Posts: 85
- Joined: Wed Dec 30, 2015 3:41 am
Re: ARC Limiter
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.
-
wlangfor@uoguelph.ca - Posts: 912
- Joined: Tue Apr 03, 2018 5:50 pm
- Location: North Bay, Ontario, Canada
Re: ARC Limiter
Wassaka wrote:But I do not understand very well what you say in this paragraph.
Maybe this example will help?
- Attachments
-
- TransientDetector.fsm
- (36.25 KiB) Downloaded 1023 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: ARC Limiter
martinvicanek wrote:Maybe this example will help?
Yes! Thank you!!
- Wassaka
- Posts: 85
- Joined: Wed Dec 30, 2015 3:41 am
Re: ARC Limiter
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.
- Wassaka
- Posts: 85
- Joined: Wed Dec 30, 2015 3:41 am
Re: ARC Limiter
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.
-
wlangfor@uoguelph.ca - Posts: 912
- Joined: Tue Apr 03, 2018 5:50 pm
- Location: North Bay, Ontario, Canada
9 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 28 guests