Re: DynamicsCompressorNode


Most music compressors are applied to a full-band signal.
Mastering compressors and especially loudness maximizers often use per-band

Soft-clipping will add distortion to the sound whereas a good
compressor/limiter will not.
Also, depending on the algorithm, often soft-clipping quickly turns into
just plain clipping as the input gets louder.

Head room is often the best way to prevent clipping,but it can conflict
with a desire to maximize the loudness.
Without an enforced standard for head room there is an inevitable creep
towards 0 dB FS.
With regards to this, perhaps the Web Audio API should somehow incorporate
the proposed game console loudness standard ( ), which is based on proven
television loudness standards,
I'm not sure how this could be enforced though, other than through dynamics
processing within the browser.


On Wed, May 1, 2013 at 9:04 PM, Jean-Marc Valin <> wrote:

> Hash: SHA1
> Hi,
> The doc for DynamicsCompressorNode mentions the use case of avoiding
> clipping. I'm wondering if that's really the best way to achieve that.
> It seems to me like a better approach would be to first make sure to
> have some head room for mixing, and then use soft-clipping to handle
> any overshoot (which can occur even with compression turned on). If
> there's any interest, I have some simple soft-clipping code I can
> contribute here (that's already in libopus).
> As for the "louder, richer, and fuller sound" application, it's not
> clear whether the current compressor is applied on the fullband signal
> or if it works per band. AFAIK most music compressors tend to act on a
> per-band basis. Any thoughts?
> Cheers,
>         Jean-Marc
> Version: GnuPG v1.4.13 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird -
> iQEcBAEBAgAGBQJRgeXjAAoJEJ6/8sItn9q9iRUH/iy8Vs8oCVY/6BzCthidocK6
> IGnkQNclzkyO9DoDOXq3PvZ5xhD7RUd3Me5ltxieLG2V/8pEVUp60l7I5YgCnIeE
> U/In0PjoGvEoF1D9cVyQdTlhCOi2Ex9wYZofCfjn/TTDzoQeFzkVd2z4XgE3aPOW
> mviqHeS/HlK5gDTTMKEHtg/ATPr9bfvy2HawhdY/ObyIMXFsatkbmUn7m0L3wuxx
> cc8p3Xqy2Fb/+6teWvy83P+hKsXkiOMI0imfU8JeZ4W20Wu+ipFI0zApA+Q+lYQC
> Hj7Ds7UQ4orTjMUSBS43unQk4owMwL6HEv1E5GUurpxnkW6+/zpccM2UF6G83/c=
> =eUsG

Received on Thursday, 2 May 2013 07:18:17 UTC