What does "just normalise it" actually do to a track?
Mastering · 3 min read
Normalising turns the whole file up or down by one fixed amount, and that is all it does. It lines up either the peaks or the loudness, never both, and it changes neither the dynamics, the tone nor clipping already in the file.
We worked out what both kinds would do to the 299 finished club records behind Club loudness, measured.
What one gain can and cannot change
Turn a track up 3 dB and the peak, the loudness and the quietest breakdown all move by exactly 3 dB. Every difference between two levels stays put: the peak-to-loudness ratio (PLR), the loudness range, the balance between bass, mids and highs.
- No dynamics change. A squashed master normalised down is a quieter squashed master. Changing that takes gain that moves over time: a compressor, limiter or expander.
- No tone change in the file. Only how it is heard changes: the ear's bass and treble sensitivity depends on level, as the ISO 226 equal-loudness contours show.
- No repair of clipping. A clipped file turned down keeps its flat tops and distortion.
Peak normalisation: equal peaks, unequal loudness
We moved every record's true peak to -1.0 dBTP. 296 of the 299 were turned down: finished club masters already crowd full scale.
The loudness spread did not shrink: the quietest and loudest still sit about 10 LU apart, though a peak meter now calls them identical. Loudness is now the target minus PLR, which a gain cannot touch: how hard a record was limited becomes how loud it plays.
Loudness normalisation: equal loudness, peaks wherever they land
Normalise to one LUFS target and every record measures the same. Spotify does this at -14 LUFS, European broadcast at -23 LUFS under EBU R 128. The cost is headroom: a record turned up past the room under its peaks ends above the ceiling.
Past that point, two options:
- Limit. Raise to target and catch the peaks with a limiter (Spotify's Loud setting). That changes the waveform: no longer just normalisation.
- Stop short. Raise each track only as far as its peaks allow (Spotify's Normal setting). The loudness spread comes back.
DJ software auto gain
rekordbox, Serato and Traktor set one gain per track at analysis and apply it on load, so the same trade-off applies. Only Serato's documentation says what it matches: "perceived loudness", with no standard named. The rekordbox manual and Traktor's support pages do not say.
What this does not tell you
- It is a simulation. We added gains to measured values and rendered no audio.
- Club masters, not music in general. On unmastered or dynamic material, peak normalisation can turn a file up a long way.
- Equal LUFS is not equal loudness in a club. BS.1770 was validated on broadcast material at normal listening levels, and integrated loudness averages the whole file.
How we measured, with every number
Method. Files: the 299 finished club records behind Club loudness, measured. A second pool of unfinished promo material in the same table is left out, as it is there. Measured: integrated loudness (LUFS) and true peak (dBTP) per ITU-R BS.1770, computed with libebur128. Simulation, not re-processing: normalisation is one gain per file, so the loudness and true peak after it are the measured value plus that gain. No audio was rendered. Peak normalisation is simulated to -1.0 dBTP; loudness normalisation to six targets from -18 to -8 LUFS. Percentiles: p10, median, p90 with linear interpolation, the same as on /learn/loudness. One script prints every number below, and the figures are drawn from its output.
What one gain changes.
| Quantity | After normalising |
|---|---|
| Integrated loudness (LUFS) | moves by the gain |
| True peak (dBTP) | moves by the gain |
| Peak-to-loudness ratio (PLR, dB) | unchanged |
| Loudness range (LRA, LU) | unchanged |
| Balance between bass, mids and highs | unchanged |
Sample peak or true peak. Most audio editors normalise to sample peak, the highest stored sample value. A true-peak normaliser uses the level of the reconstructed waveform between samples (ITU-R BS.1770, Annex 2), which normally reads at or above the sample peak and is the one that predicts overshoot in a converter or a lossy encoder. We simulate the true-peak version, because that is the value in our table. A sample-peak normaliser would usually choose a slightly larger gain and land a little louder than our numbers.
The two records in the first figure. A and B are the records with the largest and the smallest PLR among the 299, so the quietest and the loudest after peak normalisation.
| Measured | Peak to -1.0 dBTP | Loudness to -14 LUFS | |
|---|---|---|---|
| A | -11.54 LUFS, +3.37 dBTP | -15.91 LUFS (gain -4.37 dB) | +0.91 dBTP (gain -2.46 dB) |
| B | -5.30 LUFS, -0.41 dBTP | -5.89 LUFS (gain -0.59 dB) | -9.11 dBTP (gain -8.70 dB) |
A is already above full scale as measured; even turned down 2.46 dB to -14 LUFS it stays above it.
Peak normalisation to -1.0 dBTP.
| Loudness spread | Middle 80% (p90 - p10) | Full range (max - min) |
|---|---|---|
| As measured (full distribution) | 4.23 LU | 10.70 LU |
| After peak normalisation to -1.0 dBTP | 4.40 LU | 10.02 LU |
The middle 80% got slightly wider, the full range narrowed by under 0.7 LU. After normalising, one record in ten sits at or below -12.88 LUFS, the median at -10.57 LUFS, one in ten at or above -8.48 LUFS. 296 records were turned down (by up to 4.37 dB), 3 turned up (by at most 0.89 dB). Loudness after = -1.0 dBTP - PLR, exactly, so the loudness spread after is the PLR spread.
Loudness normalisation, plain gain.
| Target | Records turned up | Above 0 dBTP after | Above -1 dBTP after | Highest true peak after |
|---|---|---|---|---|
| -18 LUFS | 0 | 0 (0.0%) | 0 (0.0%) | -3.09 dBTP |
| -14 LUFS | 1 | 4 (1.3%) | 7 (2.3%) | +0.91 dBTP |
| -12 LUFS | 13 | 26 (8.7%) | 67 (22.4%) | +2.91 dBTP |
| -10 LUFS | 96 | 132 (44.1%) | 200 (66.9%) | +4.91 dBTP |
| -9 LUFS | 176 | 200 (66.9%) | 251 (83.9%) | +5.91 dBTP |
| -8 LUFS | 233 | 251 (83.9%) | 282 (94.3%) | +6.91 dBTP |
At -9 LUFS, 200 of 299 end above full scale, the highest by almost 6 dB. A few records exceed 0 dBTP even at -14 LUFS, although only one is turned up: they were already over full scale and are not turned down far enough to clear it. Spotify's Normal setting, in its own words: "If a track loudness level is -20 dB LUFS, and its True Peak maximum is -5 dB FS, we only lift the track up to -16 dB LUFS". Its Loud setting is -11 LUFS with a limiter.
Loudness normalisation, stopping short at -1.0 dBTP.
| Target | Records that fall short | Middle 80% after | Full range after |
|---|---|---|---|
| -14 LUFS | 7 (2.3%) | 0.00 LU | 1.91 LU |
| -12 LUFS | 67 (22.4%) | 0.88 LU | 3.91 LU |
| -10 LUFS | 200 (66.9%) | 2.88 LU | 5.91 LU |
| -9 LUFS | 251 (83.9%) | 3.88 LU | 6.91 LU |
| -8 LUFS | 282 (94.3%) | 4.40 LU | 7.91 LU |
At -8 LUFS almost every record is peak-limited, so the two methods converge on the same middle-80% width.
Why the limits hold. PLR and LRA are differences between levels, and one gain moves both levels equally. A gain is the same at every frequency, so the file's tonal balance is untouched; the ear's sensitivity to low and high frequencies depends on playback level (ISO 226 equal-loudness contours), so a track played 6 dB quieter can sound thinner in the low end. A clipped waveform has flat tops where the signal was cut at full scale, and the distortion they created is part of the signal. A file whose true peak sits above 0 dBTP may overshoot when a converter or a lossy encoder reconstructs it; lowering the level first leaves room for that overshoot. That prevents future damage, it does not undo past damage. The simulation is exact for a gain applied in floating point; a fixed-point export would clip everything listed above 0 dBFS, which is the point of the plain-gain table, not a correction to it.
DJ software auto gain, from vendor documentation only:
| rekordbox 7 | Serato DJ Pro | Traktor Pro 4 | |
|---|---|---|---|
| Value found during | track analysis | overview building (analysis) | track analysis |
| What is measured | undocumented | "perceived loudness", algorithm undocumented | undocumented |
| Target you can set | none (on/off only) | 89 to 98 dB, default 92 dB, scale not stated | none (on/off only) |
| Where it acts | deck volume on load, adjustable by hand | track gain knob on load | channel gain, added to the gain knob |
| Audio file changed | no audio change documented | no audio change; a manually adjusted track gain is saved to the file's tags | no audio change; the value is saved to the track |
- rekordbox: the manual says "[AUTO GAIN] loads the attenuation amount set when analyzing the track, and can be adjusted manually". It never says whether that amount comes from peak or loudness, and has no target setting.
- Serato: the value "represents the gain adjustment required to match the perceived loudness of the track to a reference level". It does not name a standard or a unit scale for the 89 to 98 dB reference.
- Traktor: a Native Instruments support article says Autogain is applied "in order to attain an even output level when mixing different songs". What "level" means is not stated.
If auto gain matches loudness and a track is turned up past its headroom, the peaks go above full scale in the software's mix bus, and what happens there (a limiter, clipping, or nothing until the output) is also undocumented. If it matches peaks, the peak-normalisation spread above is what you would hear.
More limits.
- True peak only. A sample-peak normaliser would land a little louder; by how much, we did not measure.
- The DJ software section is documentation. We tested none of the three.
Related
- How is loudness measured, and why is LUFS not dB?
- What does Spotify do to your track's loudness?
- What does mastering actually change in a track?
- Club loudness, measured
Sources
- ITU-R BS.1770, Algorithms to measure audio programme loudness and true-peak audio level. https://www.itu.int/rec/R-REC-BS.1770
- EBU R 128, Loudness normalisation and permitted maximum level of audio signals. https://tech.ebu.ch/publications/r128
- Spotify for Artists, Loudness normalization. https://support.spotify.com/us/artists/article/loudness-normalization/
- ISO 226:2023, Acoustics - Normal equal-loudness-level contours. https://www.iso.org/standard/83117.html
- libebur128 (implementation of EBU R 128 / ITU-R BS.1770 used for every measurement here). https://github.com/jiixyj/libebur128
- AlphaTheta, rekordbox ver. 7.x Instruction Manual (7.2.18, EN), pp. 122, 140, 242. https://cdn.rekordbox.com/files/20260807093645/rekordbox7.2.18_manual_EN.pdf
- Serato Support, DJ Preferences, section "Use Auto Gain". https://support.serato.com/hc/en-us/articles/223363407-DJ-Preferences
- Serato Support, Software Overview DJ Pro 3.0. https://support.serato.com/hc/en-us/articles/224859147-Software-Overview-DJ-Pro-3-0
- Native Instruments, Traktor Pro 4 Manual (English, 2024-07-17), pp. 50, 115, 181. https://docs.native-instruments.com/pdf-guides/traktor/Traktor-Pro-4-Manual-English-170724.pdf
- Native Instruments Support, TRAKTOR: Setting Up Channel Gain And Auto Gain. https://support.native-instruments.com/support/solutions/articles/69000879529-traktor-setting-up-channel-gain-and-auto-gain
- Native Instruments Support, Digital DJing and Sound Quality: Handling Levels in TRAKTOR. https://support.native-instruments.com/support/solutions/articles/69000879489-digital-djing-and-sound-quality-handling-levels-in-traktor
We build enguetedl.ch; the analyzer above is ours.