The Master Guide / 13 Sound design and mix · The mix
Loudness: −23 TV, −16 online, −14 short social
Hit each delivery's loudness target, and measure it on every file.
Hit each delivery's loudness target, and measure it on every file.
LUFS (loudness units relative to full scale) is the unit loudness is measured in: integrated loudness averages the whole file, and short-term loudness measures a sliding 3-second window. dBTP (decibels true peak) is the unit of the true peak, the highest level the waveform reaches, including between samples. Tolerances are in LU (loudness units; 1 LU is 1 dB).
Delivery | Integrated | Max short-term | True peak | Notes |
TV: Egypt, Saudi Arabia, UAE, pan-Arab and Europe (EBU R 128 s1, V3) [official guidance] | −23.0 LUFS ±0.2 LU | −18.0 LUFS | −1 dBTP | Stereo PCM (uncompressed audio), 48 kHz, 24-bit. The channel's own technical sheet overrides. |
Online master: YouTube, web, and every online version not named a short social ad [official guidance] | −16 LUFS ±0.5 LU | — | −1 dBTP | On AAC files (the compressed audio in most MP4s) aim 0.5 dB lower (−1.5 dBTP), because encoding raises peaks; re-check the encoded file. |
Short social ad (feed and story placements, up to about 60 s), named per version in the version table (decided) | −14 LUFS ±0.5 LU | — | −1 dBTP (−1.5 on AAC) | Two audio practitioners master short social ads at about −14; no platform publishes a figure. YouTube turns louder files down and Meta levels clips on the phone, so the gain is small; the −16 online master stays the master. |
US networks, only if ever needed | −24 LKFS (the US name for LUFS) | — | per broadcaster | Confirm against the network's sheet. |
PPM (peak programme meter). Some delivery houses also ask for a PPM limit (one gives PPM 6, −10 dBFS; dBFS is decibels below digital full scale) [single strong source]. A loudness meter doesn't read PPM, so agree with the channel who checks it, and write "PPM not measured" in your report until someone has.
Measure every file on an EBU R 128 meter: the integrated loudness, the max short-term and the true peak (steps below).
Correct in this order:
Measure.
If the gain needed is more than the true-peak headroom, put a true-peak limiter (4× oversampled) in first.
Apply the gain, then the limiter where needed.
Repeat until the measured value is on target, then verify.
If a file is out of tolerance, don't deliver it.
Correct with common tools in Audition, Premiere or ffmpeg (steps below); with ffmpeg, only its two-pass linear mode, because its default single pass changes the mix's own levels. Never correct a stem with any of them (see Sound design and mix → Stems).
Each version (language, length, ratio) is measured on its own. Deliver a film master per target, with one loudness line per export: integrated, max short-term, true peak, and "PPM not measured" on TV files.
Do it yourself
Measure a file's loudness (Premiere, Resolve, any EBU R 128 meter, or ffmpeg)
Premiere: in the Audio Track Mixer, open an effect slot on the Mix track → Special → Loudness Meter, and play the whole file.
Resolve: on the Fairlight page, open the Meters panel (the Loudness section), and play the whole file.
ffmpeg: run the line below. The summary at the end gives the integrated loudness (I) and the true peak (Peak). The max short-term is the highest S: value in the lines above it.
ffmpeg -nostats -i file.wav -af ebur128=peak=true -f null -
Done when: the integrated figure is within the tolerance of the target (online: −16 LUFS ±0.5 LU, so −16.5 to −15.5) and the true peak is at or below −1 dBTP (−1.5 on AAC). Write the three figures into the version's loudness line.
Correct the loudness with common tools (Audition, Premiere or ffmpeg)
Audition's Match Loudness panel: ITU-R BS.1770 loudness, the target, a true-peak limit, with limiting on.
Premiere's export settings, Effects → Loudness Normalization: ITU BS.1770-3, the target loudness, the tolerance and the Max True Peak Level.
Or ffmpeg's loudnorm in its two-pass linear mode (below).
Run ffmpeg's loudnorm, two-pass linear only (ffmpeg)
Its default single pass is dynamic: it changes the mix's own levels. The first pass measures; the second applies one gain, using the first pass's figures (here for the online master):
ffmpeg -i mix.wav -af loudnorm=I=-16:TP=-1:LRA=20:print_format=summary -f null -
ffmpeg -i mix.wav -af loudnorm=I=-16:TP=-1:LRA=20:measured_I=-19.4:measured_TP=-6.2:measured_LRA=6.1:measured_thresh=-29.8:linear=true:print_format=summary -ar 48000 -c:a pcm_s24le mix_online.wav
Copy the four measured values from the first pass's Input lines; the figures above are an example.
Set LRA (loudness range: how much the loudness varies across the file) at or above the first pass's Input LRA.
Check that the second pass reports "Normalization Type: Linear". If it says Dynamic, your peaks are too high for the gain you need. Put a true-peak limiter on first. Set its ceiling to −1 dBTP minus the gain you need, minus 0.5 dB as a margin; for 9.5 dB of gain, that is about −11 dBTP. Then run both passes again.
Measure the result again before you deliver it.
Sources
EBU, R 128 s1 V3 (official); YouTube Help, Stable Volume; Meta Engineering, xHE-AAC; Ian Shepherd, Stats for nerds.
