How Audacity Calculates LUFS Loudness Normalization
Loudness normalization is the process of adjusting an audio track's overall level so that it matches a consistent perceived volume standard, measured in Loudness Units relative to Full Scale (LUFS). Unlike traditional peak normalization, which only monitors the highest momentary sample peaks, loudness normalization analyzes the full duration of audio through filters that mimic human hearing. This article explains how loudness normalization works, the role of LUFS, and the specific mathematical algorithms Audacity uses to calculate and hit your target loudness levels.
Peak Normalization vs. Loudness Normalization
Standard peak normalization adjusts an entire audio track based strictly on its highest voltage point (the highest peak). If an audio file contains a single loud transient, like a sudden clap, peak normalization scales the entire track down, leaving the average dialogue or music sounding excessively quiet.
Loudness normalization solves this problem by evaluating perceived loudness over time. Rather than looking for individual peak samples, it measures the sustained acoustic energy of the signal. By targeting LUFS, you ensure that different audio files—such as podcast episodes, music tracks, or broadcast segments—play back at comparable volume levels without the listener having to adjust their volume dial.
What Is LUFS?
LUFS stands for Loudness Units relative to Full Scale (synonymous with LKFS, or Loudness, K-weighted, relative to Full Scale). It is the international standard specified in ITU-R BS.1770 for measuring perceived audio loudness.
- 1 LU is equivalent to 1 dB. Changing your audio volume by 1 dB changes its loudness measurement by 1 LU.
- Integrated LUFS measures the average perceived loudness of an entire file from beginning to end. This is the primary metric used by streaming platforms (e.g., -14 LUFS for Spotify/YouTube, -16 LUFS for Apple Podcasts, and -23/-24 LUFS for television broadcast standards like EBU R128 and ATSC A/85).
How Audacity Calculates LUFS Targets
Audacity implements the ITU-R BS.1770-4 standard to calculate and apply loudness normalization. When you apply the Loudness Normalization effect using perceived loudness (LUFS), Audacity performs a multi-stage calculation:
1. K-Weighting Filter
The human ear does not perceive all frequencies equally; it is less sensitive to low frequencies (bass) and more sensitive to the 2 kHz to 4 kHz range. Audacity applies a two-stage filter known as K-weighting to the raw signal:
- Stage 1 (Pre-filter): A high-shelf filter that boosts frequencies above 1.5 kHz to simulate the acoustic effect of the human head.
- Stage 2 (RLB filter): A high-pass filter that cuts off deep low-end rumble below roughly 100 Hz.
2. Mean-Square Calculation
Once the audio is filtered, Audacity calculates the energy of each channel by computing the mean square of the samples over discrete time blocks. For multi-channel audio (such as stereo), individual channel weighting is applied according to ITU specifications.
3. Dual-Gated Measurement
To prevent long periods of silence, low-level room tone, or pauses in speech from dragging down the calculated average loudness, Audacity uses a dual-gating process:
- Absolute Gate: Discards all blocks quieter than -70 LUFS.
- Relative Gate: Calculates an intermediate loudness value of the remaining audio and then discards all blocks that fall more than 10 LU below that value.
The remaining gated audio blocks are integrated together to determine the true Integrated Loudness of the track.
4. Gain Adjustment
After determining the track's integrated LUFS, Audacity calculates the mathematical offset required to reach your user-defined target:
\[\text{Gain Offset (dB)} = \text{Target LUFS} - \text{Measured Integrated LUFS}\]
Because 1 LU matches 1 dB exactly, Audacity shifts the gain of the entire audio file linearly by the resulting value. If a podcast measures at -20 LUFS and the target is -16 LUFS, Audacity applies a uniform +4 dB boost across the selection.
Applying Loudness Normalization in Audacity
- Select your audio track.
- Navigate to Effect > Volume and Compression > Loudness Normalization.
- Set the Normalize to dropdown to Perceived Loudness.
- Enter your desired target level (e.g.,
-14.0 LUFSfor web audio or-16.0 LUFSfor podcasts). - Choose whether to normalize stereo channels independently or preserve the stereo balance (recommended for stereo mixes).
- Click Apply.
If boosting the audio causes the peaks to exceed 0 dBFS (resulting in digital clipping), you must apply a limiter or compress the dynamics before performing loudness normalization.