Stereo Tool https://forums.stereotool.com/ |
|
Final AGC Algorithm - Acceleration https://forums.stereotool.com/viewtopic.php?t=1067 |
Page 1 of 1 |
Author: | SuperH [ Mon Dec 14, 2009 6:38 pm ] |
Post subject: | Final AGC Algorithm - Acceleration |
Hvz, Something I've implemented in my OS X project is an accelerated AGC algorithm. Essentially, an audio threshold is established (user configurable). For instance, your target level is -14dB (for a rolling average). The rolling average is configured, as is a specified attack and rise time. These are configured to be slow, and the attack and release behave non-linearly (logarithmic). Some example settings: Threshold: -14dB Attack: 2 sec Release: 6 sec The initial hold time would be set to the time constant (tau) of the attack (which isn't really a constant, it is user-configurable - it is a constant in the programming sense - it is set and not configured under normal operation). If your time to attack is 2 seconds, your "hold time" is two seconds. Your average - a sum of all audio across the spectrum, is identified to exceed or fall below that threshold based on the attack time. If it continues to exceed that threshold, the audio is attenuated with a logarithmic decay algorithm until the average is brought down to your threshold. Conversely, this is relevant to the rise time as well, in an opposing fashion (with attack time still equivalent to the hold time). After that, a final limiter algorithm (behaving exactly like yours does) is employed, which bumps the gain up or down based on instantaneous analysis. This is just a thought. I can't get Stereo Tool to quit "diving" (attenuating quickly) when I try to employ some more aggressive normalization. ...Still trying to figure out how you've done this with .NET! ![]() http://developer.apple.com/mac/library/ ... ction.html If there is a way to do this already, and I am missing the point - I apologize for bringing it up! |
Author: | hvz [ Mon Dec 14, 2009 6:55 pm ] |
Post subject: | Re: Final AGC Algorithm - Acceleration |
There isn't - yet. For the upcoming release, I have improved the "remove remaining peaks" filter a lot - it removes peaks much more aggressively, and it sounds better. This might be a bit closer to what you want: viewtopic.php?f=16&t=853&st=0&sk=t&sd=a&start=80 (Use the BETA2, not the BETA3) The actual problem - the behavior of the "pre limiter" itself - is not changed though (more specifically: There is no hold time), so when loud peaks are present, the volume will still start to drop immediately. The improve "remove remaining peaks" filter might allow you to lower the speed with which the volume drops. |
Author: | SuperH [ Mon Dec 14, 2009 8:52 pm ] |
Post subject: | Re: Final AGC Algorithm - Acceleration |
Thanks! I'll check this out when I get home! |
Page 1 of 1 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |