Tutorials/Dynamic Range Compression
From Bjoern Hassler
 1 Theory
The whole subject of dynamic range compression, as well as limiting, is vast, and detailed discussions can be found easily with google. The aim of the present article is to give a nuts-and-bolts introduction, aimed at practical use, and bypassing some of the subtler points.
(Note that 'dynamic range compression' has nothing to do with 'bitrate' compression.)
 1.1 The Bascis
You will have recorded your signal to a reference level, typically -12dB (or -20dB), i.e. your signal has some headroom, with the typical signal level peaking around -12dB. Often, you maintain this headroom throughout the edit ('mix to -12dB'). For theatrical sound (cinema, DVD, etc) you might leave your audio like this.
However, for online delivery, particularly of speech-based audio, you want your audio to be as loud as possible: Your listeners listen to your mp3 on the train, and the output of their mp3 player might not go high enough to make the audio intelligible. Same for poor speakers on laptops etc. More generally, you might want to even out differences in volume.
Radio broadcasts also have dynamic range compression applied, so that listeners get consistent high volume.
 1.2 Normalisation
So say your input signal looks like this:
There might be some peaks above -12dB, but let's assume that the signal peaks at -12dB for the sake of argument.
The one thing that you should do in any case, is to normalise. The following diagram shows the orignal signal (dashed blue), and the normalised signal. The signal is simply scaled. As this is a basic operation, it should work well even in basic audio editors.
If for some reason you can't apply Dynamic Range Compression (see below), you might want to scale down some of the peaks, and then normalise again. If you have the option, you want to normalise to 0dB.
 1.3 Dynamic Range Compression
Roughly speaking, the 'dynamic range' of your signal is the difference between the quieter passages ('whispering' in a movie) and the louder passages ('explosions' in a movie). For theatrical sound, with good speakers, you want a large dynamic range. For online video and audio, you want a smaller dynamic range. 'Dynamic Range Compression' turns large dynamic ranges into smaller dynamic ranges.
A dynamic range compressor will have (some of the) these settings: threshold, ratio, attack, decay, knee, gain.
The threshold is the dB value, above which the compression is applied. To determine the threshold, you play back your audio, and look at the level meters. What is the typical value? Often this will be -12dB and -20dB. For very quietly recorded audio it can be lower. Just read it off the level meter. That's your threshold.
The 'ratio' is the amount by which the audio is compressed. A typical ratio for moderate compression is 1:4. The following diagram shows 1:4 compression with -12dB threshold applied to the signal.
The quieter passages aren't affected, but louder passages (or peaks) are reduced.
Attack, decay, knee: If your compressor has a speech setting, it will probably work for you. You'll still need to adjust the threshold, but you're probably ok with the default settings for the other parameters. If you need to select items manually: For speech compression, you want a short attack time (1-10ms), and a slow decay time (100ms-1s). For knee, you can use the default setting.
Note: Compression is a subtle process, and you should use the best compression software you have access to.
 1.4 Dynamic Range Compression with autogain
After compression, your signal has a headroom. In our example, this is 9dB (i.e. 3/4 of 12dB). You then want to normalise again, to remove that headroom. This is shown in the next diagram.
Your compressor might have a gain setting, that allows gain to be applied after compression. It might have an auto-gain setting, that automatically normalises the signal after compression. If you have this setting, turn it on.
Your audio is now ready for web export!
 2 More theory anybody?
You can have a look at these three (overlapping) articles, to find out more about dynamic range compression:
 3 Hardware compression
Sometimes your signal may already be compressed. Some devices have got hardware compression built in, and you might want to check that you're not overcompressing your signal.
If you are doing a live broadcast, e.g. live streaming, you'll also want to use a hardware compressor, so that the audio level is high enough for the live audience. Ideally, you'd record the uncompressed signal for archive and post-processing, while you'd apply good compression for the live audience.
 4 Recipes
Work in progress.
 4.1 Final Cut Pro
- Import DV file as usual (or, for audio only, import the aiff or wav file)
- Look at audio portion
- highlight and alt-L to unlink channels
- delete one channel (if you don't need it!)
- double click clip and pan the audio to centre (pan=0)
- apply Compressor/Limiter (~ -12dB, 1:4)
- Mark > Audio Peaks > Mark
- Wait. Only few audio peaks should show
- Reduce levels by -1dB (drag red line with apple key pressed)
- Use shift-m and alt-m to jump between markers to check that levels are no longer distorting
- Export to QuickTime, either a full quality 'quicktime movie', or, if audio only, select 'aiff' as format, and choose 44.1kHz, 16 bit, mono as output
- Outside FCP, compress to mp3, 32kbps, mono.
 4.2 Soundtrack
 4.3 Audacity (1.3.4)
 5 Links and tools
- Not open source, but free (adware) and cross platform http://www.conversationsnetwork.org/levelator (Haven't tested this yet.)