David, you wrote:
I have a question though, how does the gradual attenuation work? How about something that clips yet isn't continuous, like a cymbal crash? And are all those graduations for the setting necessary? I think instead of this, a self-adjusting attenuation would be even better. It should work at an aggressive level however, and step back or un-attenuate as soon as the clipping stops. What I'm thinking is something like the concept of variable bitrate MP3 encoding. When the decoder sees the first instance of a clipped sample, it automatically attenuates the full level, but after so many samples of no clipping, it steps back to no attenuation. And so on. What I fear is that a large spike could occur in the beginning or middle of a file, setting a high attenuation level, and then muffling the rest of the song which might not clip at all.
What you're describing is a Limiter. It would indeed be neat to have this function.
Of course this should be a lookahead limiter. The Ultramaximizer L1 by Waves looks ahead by up to 68 samples on a Protools TDM system(that's its processing latency anyway). I don't think having a second latency i our case would be all that bad. Problem is, who can write a Limiter like that ?
Perhaps one the authors of a free VST plugin would include his Limiter code in here. For short peaks this would be the right thing.
Tony