AES Journal Forum

Digital Dynamic Range Compressor Design—A Tutorial and Analysis

(Subscribe to this discussion)

Document Thumbnail

Unlike common digital signal processing algorithms, dynamic range compressors are nonlinear systems with memory. Furthermore, there is no single established design approach. Thus, they allow for a large number of implementations, each with very different behavior. Following an analysis of the various design choices, the authors recommend feed-forward algorithms because they are stable and predictable. The detector is placed in the log domain after the gain computer since this generates a smooth envelope, no attack lag, and a variable knee width. Objective measures of compressor performance are also used and discussed, and source code and audio examples are available on line.

JAES Volume 60 Issue 6 pp. 399-408; June 2012
Publication Date:

Click to purchase paper as a non-member or you can login as an AES member to see more options.

(Comment on this paper)

Comments on this paper

Default Avatar
Christopher Dion

Comment posted July 24, 2012 @ 14:00:56 UTC (Comment permalink)

Very interesting paper. I really liked the table 1 showing the FES in function of detector. I will definitely look further into it. I also liked the demonstration why log sounds better than linear. I could noticed, but not exactly explain why.

Joshua Reiss
Author Response
TC-HRA Chair
Joshua Reiss

Comment posted July 26, 2012 @ 13:44:04 UTC (Comment permalink)

Thanks for your comments. The Fidelity of the Envelope Shape (FES) is close to what might be a good measure of compressor quality or performance. But it just looks at correlation between the envelope before and after compression. A better measure might be something that looks at the temporal aspects of the envelope, so that a good compressor preserves much of the sustain, decay and release. Something to look at in future.

And yes, the log versus linear domain compressors is one of the biggest differences between compressor designs, and often overlooked in basic designs.

Default Avatar
Christopher Dion

Comment posted July 31, 2012 @ 14:12:22 UTC (Comment permalink)

Thanks for your answer. Surprisingly, there is another paper that is stating that Linear domain and Log domain are equivalent. It shows the mathematical proof that it gives the same transfer function. I would like to have your feedback on this. Here is the article: Attack and release time constants in RMS-based feedback compressors by Fred Floru (presented at the 104th convention, may 1998.) There is a pdf containign the preprint.


Joshua Reiss
Author Response
TC-HRA Chair
Joshua Reiss

Comment posted August 2, 2012 @ 14:09:41 UTC (Comment permalink)

Thanks for your comments.

I'm aware of this paper, and in fact cited the revised and extended version,

F. Floru, “Attack and Release Time Constants in RMS-Based Feedback Compressors,” vol. 47, pp. 788–804 (1999 Oct.).

But if all other aspects are equal, then applying attack and release on a linear estimation of input signal level clearly gives different results from applying them on a logarithmic estimation of signal level (or on the logarithmic gain). This is seen in Fig. 11 and Table 1 of our paper, and commented on in Sonnox, “Dynamics Plug-In Manual,” Sonnox Oxford Plug-ins, April 1st 2007.

You can also clearly see the difference between Eq.s 20 and 23 in our paper.

I think there are a few reasons why Floru's result, though very interesting and significant, does not apply;

- He has slightly different definitions of log and linear domain

- He deals only with RMS detectors, and in fact requires that the RMS detection be log domain when applying attack and release in log domain, and be linear when applying attack and release in linear domain

- Technically, transfer function does not apply, since it assumes a linear system. The output of a compressor is, of course, dependent on signal level as well as frequency. Describing functions may be more appropriate, since they describe nonlinear relationships where the input/output relationship is a function of both frequency and amplitude. But even they assume a static nonlinearity, and thus really only model clipping or hard limiters.

Of course, Floru's paper(s) on the subject are very detailed and fairly complex, so without a thorough reading, I can't say for sure why he got that result and what the implications are.

Best regards,


Default Avatar
Christopher Dion

Comment posted August 4, 2012 @ 13:59:11 UTC (Comment permalink)

Thank you for your comprehensive answer. It is very well appreciated. Good work.


Subscribe to this discussion

RSS Feed To be notified of new comments on this paper you can subscribe to this RSS feed. Forum users should login to see additional options.

Join this discussion!

If you would like to contribute to the discussion about this paper and are an AES member then you can login here:

If you are not yet an AES member and have something important to say about this paper then we urge you to join the AES today and make your voice heard. You can join online today by clicking here.

AES - Audio Engineering Society