[music-dsp] Adaptive (auto) release
citizenchunk at nyc.rr.com
Sun Jan 18 14:39:00 EST 2004
Hi James! thank you for the in depth response. there are a lot of great
ideas there, a lot to think about. that's what i love about this stuff:
there are so many possibilities to be explored, if you have the time,
patience and drive.
anyway, thank you. i'll let you know what i come up with.
- Citizen Chunk
On Jan 18, 2004, at 12:06 PM, James Chandler Jr wrote:
> Hi Chunk
> Thats an interesting idea, controlling release by the ratio between
> Peak and
> RMS. In case you didn't know, the ratio between Peak and RMS is
> sometimes called
> Crest Factor. A web search on Crest Factor might turn up random
> nuggets of
> useful info.
> I've never used RMS detection in a compressor, can't offer practical
> Some analog compressors of the past, implemented program-adaptive
> release by
> running several attack-release envelopes in series (parallel might
> work too,
> depending on the design). Run two or more envelope detectors, with
> longer attack-release times.
> The compressor gain stage is modulated by whichever detector has the
> instantaneous level.
> A short transient would only affect the first detector, because the
> detector(s) will not charge up fast enough to exceed threshold.
> Longer transients charge detectors "down the line" to above-threshold
> causing longer release.
> Sustained loud passages charge the long-release detector at the end of
> the line,
> giving long-term smoothing on full mixes. One typically does not want
> like kick and hat, to pump the level of the entire mix (jerking around
> the level
> of sustained parts like organ, synth pad, or lead vocal).
> I've used multiple cascaded detectors on analog compressors and
> digital plugins,
> seems to work pretty well. A crude fine-grained example--
> Detector Attack Release
> 1 0 mS 10 mS
> 2 10 mS 20 mS
> 3 20 mS 40 mS
> 4 40 mS 80 mS
> 5 80 mS 160 mS
> ..... etc .....
> Whatever works well in practice for what you want to do.
> The above configuration is probably best suited for a peak limiter, or
> "automatic" compressor which attempts to always do the right thing
> with only
> user threshold and ratio controls, not offering user-adjustable
> You could try lots of fine-grained detectors, or just two or three
> wider spaced
> A compressor might work better with fewer, wider spaced detectors. The
> detector might contain the attack control, and then the release
> control might
> affect a second or third detector.
> Multiple first-order IIR detectors are pretty simple, so this can be
> coded to
> run pretty efficiently.
> Another strategy I've used (in Peak Limiter rather than Compressor)--
> just one
> or two simple first-order IIR detectors (multiple series IIR detectors
> better smooth the envelope, minimizing intermodulation distortion).
> But... If the detector is above threshold, the program gradually
> increases the
> release value (up to some maximum, perhaps 500 mS). For instance, you
> might code
> it so that release would arrive at maximum if the signal stayed above
> for 100 mS, 500 mS, or whatever experimentally works for you on
> If the detector is below threshold, the release value is gradually
> (down to some minimum value, maybe 10 mS).
> This scheme tends to "seek" whatever release is appropriate for the
> music. If
> there are very few over-theshold transients, the release stays short.
> As the
> number of over-threshold transients increase, the release gets
> However, your Peak vs RMS idea is very good. It might be potentially
> better than
> the aforementioned methods.
> James Chandler Jr
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book
> reviews, dsp links
More information about the music-dsp