Skip to content

LUFS ​

LUFS (Loudness Units relative to Full Scale) is a standardized estimate of perceived loudness — how loud audio feels to a listener over time. It is a model of hearing, not a listener, so treat it as a dependable yardstick rather than ground truth. This is more useful for mastering than raw peak level (the highest instantaneous sample value), because a single loud peak says little about how loud the whole track feels. Two tracks can have the same peak value while one feels much louder because it stays close to its peak for more of its duration — its waveform is "denser", fuller, with less variation between loud and quiet moments. LUFS is the meter that helps describe that difference.

TargetCommon Use
-14 LUFSGeneral streaming music targets such as Spotify and YouTube.
-16 LUFSSpeech, podcasts, Apple-oriented targets, and more dynamic music.
-9 LUFSThe engine's club and cd delivery target (with a -0.3 dBTP ceiling), chosen for density rather than taken from a published standard.

Why It Matters ​

If two masters are compared without matching loudness, the louder one usually sounds better at first. This is why the /mastering demo enables loudness-matched A/B playback by default.

Loudness is only one delivery constraint. A master also needs enough True Peak Safety, and its Dynamic Range should fit the musical intent.

METERS · LOUDNESSIDLE
Loudness metering — LUFS, true-peak, and range

The bar tracks momentary loudness as the clip plays; the panel is the loudness over time. Integrated LUFS is the single overall number, true-peak estimates peaks between samples, and LRA captures how much the loudness moves. Switch the window to compare the fast momentary meter with the smoother short-term one — each reports only once its window has filled, so the short-term contour starts three seconds into the clip.

Window

How It Is Computed ​

LUFS is defined by ITU-R BS.1770. It is a mean-square (power) measurement, so it uses the 10 · log10 form of the decibel (Audio Basics), with a filter in front that makes it follow hearing more closely than a plain RMS meter.

StepWhat happens
K-weightingEach channel passes through a high-shelf filter that lifts the upper frequencies by about 4 dB (the effect of the head on incoming sound) and a high-pass that discounts deep bass, where hearing is less sensitive.
Mean square per blockThe weighted signal is squared and averaged over 400 ms blocks that start every 100 ms (75% overlap).
Channel sumThe channels' block powers are added. Left, right, and center count once each, and the LFE channel is left out. A surround channel counts about 1.41 times (+1.5 dB) when its loudspeaker sits to the side (the 5.1 surrounds and the 7.1 side pair), and once when it sits behind (the 7.1 back pair and the quad surrounds).
Decibelsloudness = -0.691 + 10 · log10(sum). The -0.691 cancels the K-weighting's gain at 1 kHz.
Gating and averagingFor the integrated reading, the gates below decide which blocks count, and the survivors are averaged as power.

The figure below plots the K-weighting curve from the standard's 48 kHz coefficients: deep bass is cut by about 13 dB at 20 Hz, and the shelf settles near +4 dB above a few kHz.

K-weighting frequency response
gain (dB)+60−6−12−1820501002005001k2k5k10k20kfrequency (Hz)+4.0 dB−13.3 dB+0.70 dB at 1 kHzthe −0.691 in the formula cancels this
  • K-weighting (both filters)
  • pre-filter: high shelf
  • RLB high-pass
The two filters in series, at 48 kHz. Bass below about 100 Hz counts for less, and treble above about 2 kHz counts for more. Between 200 Hz and 1 kHz the curve stays close to 0 dB.

Momentary loudness is a single 400 ms block and short-term loudness a 3 s window; the integrated reading covers the whole programme. Differences are counted in LU, and 1 LU is the same step as 1 dB. Two anchors make the scale concrete: a 1 kHz sine peaking at full scale in a mono file reads about -3.0 LUFS (its RMS is -3.01 dBFS), and the same sine in both channels of a stereo file reads about 0 LUFS, because the two channels' powers add.

What "Gated" Means ​

An integrated LUFS reading is not the average of the whole file. Loudness is measured in short blocks, and two gates decide which blocks are allowed to count: an absolute gate at -70 LUFS drops silence outright, then a relative gate 10 LU below the surviving average drops the quiet material as well.

Which blocks reach the average
-10-20-30-40-50-60-70-80absolute gate −70 LUFSrelative gate — 10 LU belowintegrated LUFS -13.2400 ms blocks, in orderin this example, silence and the quiet intro do not countblock loudness (LUFS)
  • counted toward the integrated value
  • dropped by the relative gate
  • dropped by the absolute gate
In this example, the intro falls below the relative gate and is excluded. A quieter passage above the gate still contributes to the average. Adding a long silent tail does not lower integrated LUFS.

Silence below the absolute gate is excluded. A fade-in or spoken intro can lower integrated LUFS if its blocks remain above the relative gate; only blocks below the threshold are excluded. The meter evaluates the whole programme that passes the gates, including speech when present.

Loudness Range (LRA) ​

Integrated LUFS is one number for the whole programme. LRA (loudness range) is how far the loudness moves around it, in LU. The meter measures short-term loudness (3 s windows, one every 100 ms), drops windows that are effectively silent (below -70 LUFS) or far below the rest (more than 20 LU under the average, so a silent tail or a long fade does not stretch the range), then reports the spread between the 10th and 95th percentiles. Ignoring the extreme tails keeps one whisper or one loud hit from setting the number. The relative gate is 20 LU here, wider than the 10 LU used for integrated loudness, because a range only means something if the quiet passages are allowed to count.

The figure below runs those steps on a synthetic song: the short-term contour, the gated fade-out, and the spread between the two percentiles.

Loudness range from short-term loudness
macro: short-term loudness (LUFS)gated out−10−20−30−40−500306090120150180210time (s)relative gate (20 LU below the mean) −32.7 LUFS −9.3−22.4LRA13.1 LU micro: the marked seconds, zoomed (128–133 s) peakRMScrest factor10.2 dB
  • short-term loudness
  • 95th percentile
  • 10th percentile
  • gated out
Short-term loudness of a synthetic song with a quiet intro, verses, choruses, a bridge and a fade to silence. The fade and the silence fall below the relative gate and are excluded. LRA is the distance between the 95th and 10th percentiles of the remaining windows. The strip below zooms into a few seconds of one chorus, where crest factor measures movement that a 3 s window averages away.

A heavily limited master has a small LRA; a film mix with whispers and explosions has a large one. Dynamic Range sets LRA beside the other readings that carry that name.

Choosing a Target ​

If you are unsure, start at -14 LUFS. It is a practical target for many music and video platforms, and it usually does not require crushing the limiter to reach.

Speech and podcasts often work better with a little more room, such as -16 LUFS, because intelligibility and comfort matter more than maximum density. Dance and club-style masters may sit much closer to full scale (the engine's club and cd targets use -9 LUFS), but only when the low end remains controlled, the true peak ceiling is safe, and the result is not fatiguing.

When a streaming platform applies its own normalization, masters that overshoot the target are simply turned down on playback. Overshooting therefore does not always give you a loudness win — a master driven hard into a deep limiter can end up with the same playback loudness as a gentler one, just with less punch left after the platform pulls it down.

Do Not Chase the Number ​

Hitting a LUFS target is not sufficient evidence that the master is good. A master can land on the target while the limiter has crushed transients, the low end has thinned, or the sibilants have started to bite.

The opposite is also true: for some material, sitting a little below the target sounds more natural. For acoustic, speech, and sparse music, loudness-matched A/B and cross-environment checks are usually more informative than chasing the last decibel.

Measure it in libsonare ​

lufs returns the integrated reading, the momentary and short-term values at the end of the file, and the loudness range.

typescript
import { init, lufs } from '@libraz/libsonare';

await init();

const { integratedLufs, shortTermLufs, loudnessRange } = lufs(samples, sampleRate);
python
import libsonare as sonare

result = sonare.Audio.from_file("song.wav").lufs()
result.integrated_lufs, result.short_term_lufs, result.loudness_range
bash
sonare lufs song.wav            # integrated, momentary and short-term LUFS, and loudness range
sonare lufs song.wav --series --json   # adds the momentary and short-term series
Implementation notes

libsonare's loudness measurement follows the gated integrated LUFS model defined by ITU-R BS.1770 and the EBU R128 family of recommendations. Target LUFS and limiter ceiling are kept as separate decisions: the LUFS target controls perceived integrated level, while the ceiling controls the maximum sample or true peak level.

Keeping them separate makes it possible to distinguish useful states: a master can be loud enough but peak-unsafe, or peak-safe but still below the target. The demo report therefore exposes input LUFS, output LUFS, and applied gain separately.

Related: Loudness Matching and A/B Comparison, True Peak, Dynamic Range