CoProducer Measure a mix
A loudness-history LED meter on a lacquer desk, one run of columns burning magenta above a thin reference line

Meters · 14 October 2026 · 7 min

Integrated LUFS hides how loud the chorus actually is

NoDAW Labs · Lacquer Vol. 05

Integrated LUFS is a gated average of the whole song, so a master that reads −14 can carry a chorus running 3–4 LU hotter on the short-term meter — and that chorus is what your ears, your limiter, and the next track in the playlist actually meet. Measure I, S max and M max on the same bounce before you decide anything.

Here’s the session. The delivery sheet says −14.1 LUFS integrated. Right in the lane. Then you play the first chorus with a loudness meter open, and the short-term readout says −10.6. Momentary flicks up to −9.5 on the downbeat. First thought: one of these meters is broken. Neither is. They’re answering three different questions, and only one of them is the question the store asks.

Once you know which is which, the “is my master too loud or too quiet” argument gets a lot shorter.

Three windows on the same file

All three readings come from the same BS.1770 measurement: K-weighting (a gentle low cut and a high-shelf lift that roughly track how loud things feel), then average power over a window. The only thing that changes is the window.

Here’s the part that surprises people. Integrated isn’t an average of decibels. It’s an average of power, so loud sections count for far more than quiet ones. A chorus 9 LU over the verse carries roughly eight times the power per second. The integrated number leans hard toward the chorus, and the verses pull it down a few LU. That’s why, on a song with real sections, the loudest short-term window usually sits somewhere around 2–5 LU over integrated, and mastering louder barely closes it unless the limiter starts crushing the chorus.

One bounce, three readings

We built a synthetic test song (a pink-noise bed, a few tones, a kick, verses about 9 dB under the chorus, and an impact on every chorus downbeat) and drove it into a plain limiter until the integrated number landed at −14. These are synthetic test signals, not a real record, but the relationships are the same ones you’ll find on your own bounces.

ReadingWindowValueWhat it tells you
Integrated (I)Whole song, gated−14.1 LUFSThe number the store normalizes on
Short-term max (S max)3 s, first chorus−10.6 LUFSHow loud the chorus plays: 3.5 LU over I
Momentary max (M max)400 ms, chorus downbeat−9.5 LUFSThe hit itself: 4.6 LU over I
Verse (measured alone)28 s of verse−19.8 LUFSAbove the gate, so it’s counted and drags I down

And all of the limiter’s work happened in the chorus: about 0.9 dB of average gain reduction there, effectively none in the verses. The number on the delivery sheet (−14.1) and the section your limiter is fighting (−10.6) are describing two different parts of the song.

Why the store and your ears disagree

The store measures integrated, applies one gain to the whole track, and walks away. Spotify’s own artist docs say tracks are adjusted to −14 LUFS, and they point out that a dynamic track mastered to −14 keeps its peaks, so it can feel louder in contrast than a crushed one played at the same level. That’s this exact effect. On normalized playback, your chorus plays at the target plus your gap. Here that means about −10.5, on every normalized player.

Your ears don’t average a three-minute song. They hear your chorus, then the next song’s chorus. Your limiter doesn’t average either. It reacts to the loudest bars, which is why a master that “only” reads −14 integrated can still sound flattened in the hook. And if you ever deliver to a spec that caps max short-term (some broadcast and ad specs do), the gap is the number that fails, not the integrated one.

The mistake that costs the most

The common slip goes the other way. You watch the short-term meter during the loudest part, pull the master down until the chorus reads −14, and bounce. We tried it. The chorus reads −14.0 short-term, and the integrated number falls to −17.6.

Now the store has a quiet track. Spotify only turns quiet tracks up as far as their peaks allow (they keep 1 dB for the encoder), and this master already peaks at −1.1 dBTP, so it gets about a tenth of a dB. YouTube doesn’t turn quiet tracks up at all. The chorus ends up playing around 3.4 LU under the same song mastered to −14 integrated. Nothing about the mix changed. Only the meter you trusted did.

Short-term is a great meter for the session. It’s the wrong meter for the delivery number.

The call: tame the chorus, or accept the number

Once you have I, S max and M max side by side, there are really two honest moves. Here’s the same song four ways:

VersionIS maxM maxLRAVerse
As bounced−14.1−10.6−9.512.1 LU−19.8
Chorus −2.5 dB, re-mastered to −14−14.1−10.9−9.79.7 LU−17.7
Kept the chorus, accepted −14.9−14.9−11.3−10.212.3 LU−20.8
Chorus set to −14 short-term−17.6−14.0−12.412.9 LU−24.0

Tame the chorus when the limiter is grinding there, when the downbeat impact jumps out on the momentary meter, or when the hook sounds smaller than the verse in context. But look at what that row actually did. We pulled the chorus down 2.5 dB, chased −14 again, and the loudest three seconds moved only 0.3 LU. Because the integrated number is mostly made of the chorus, re-mastering to the same integrated hands most of the level straight back. What really changed was the verses: up 2.1 dB, with loudness range down from 12.1 to 9.7 LU. At a fixed integrated number, taming the chorus is a contrast decision. Make it on purpose, with the verse in your ears.

Accept the quieter integrated number when the chorus sounds right and the limiter is only there to catch it. Backing the input off 1 dB put the master at −14.9 with less limiting in the hook. On Apple’s Sound Check, which plays around −16, both versions get turned down to the same place, so it costs nothing there. On Spotify Normal it plays about 0.8 LU quieter, because the peaks leave no room for a lift. That’s a trade you can hear and choose, instead of one a meter chose for you.

What we wouldn’t do: push the whole master another dB into the limiter just to see −14.0 on the sheet, or pull it down until the chorus reads −14. Both let a meter make an arrangement decision.

The check, in one pass

This prints all three readings, plus where the loudest 3 seconds sit, from a single ffmpeg pass. Give it several bounces at once to compare versions side by side.

#!/usr/bin/env bash
# ism.sh — integrated, max short-term and max momentary loudness from one ffmpeg pass.
# Usage: ./ism.sh master.wav [another.wav ...]      Needs: ffmpeg
set -euo pipefail
for f in "$@"; do
  ffmpeg -nostats -hide_banner -i "$f" -af ebur128=peak=true -f null - 2>&1 |
  sed -E 's/(t|M|S|I):[[:space:]]*/\1: /g' |
  awk -v f="$f" '
    / M: / { for (i = 1; i <= NF; i++) {
               if ($i == "t:") t = $(i+1); if ($i == "M:") m = $(i+1) + 0; if ($i == "S:") s = $(i+1) + 0 }
             if (mm == "" || m > mm) mm = m
             if (sm == "" || s > sm) { sm = s; at = t } }
    /Integrated loudness/ { sum = 1 }
    sum && $1 == "I:"    { I = $2 }
    sum && $1 == "LRA:"  { L = $2 }
    sum && $1 == "Peak:" { P = $2 }
    END { printf "%s\n  I %.1f LUFS | S max %.1f (at %.0f s) | M max %.1f | LRA %.1f LU | TP %s dBTP\n", f, I, sm, at, mm, L, P
          printf "  the loudest 3 seconds sit %.1f LU over the integrated number\n", sm - I }'
done

How to read it. If S max sits 2–5 LU over I and the chorus sounds right, you’re done. That’s a song with sections, and the store will play it the way you hear it. If the gap is a lot bigger, check the verse and the intro, because something is pulling integrated down hard. If M max sits more than 2–3 LU over S max, one hit is jumping out of its own bar, and that’s a transient or clipper job, not a loudness job.

Then drop the same bounce on CoProducer’s analyze page and read the LUFS row. That’s the integrated number the stores act on, measured the same BS.1770 way, so the two should agree within a tenth or so. The script tells you how far the chorus sits above it. Between them, you’ve got the whole picture.

Why does my chorus read louder than my integrated LUFS?
Integrated is a gated average of the whole song, including verses and intros that sit under the chorus. Short-term only looks at the last 3 seconds. On a dynamic song the loudest short-term window usually runs 2–5 LU over integrated, and that’s normal.
Should I master so the chorus reads −14 LUFS short-term?
No. Stores normalize on integrated, so a chorus at −14 short-term usually leaves the song around −17 or −18 integrated, and many platforms won’t turn it back up. Hit your integrated number, then make sure the chorus gap sounds intentional.

A free one-pager

The checklist we run before every release.

Loudness, true peak, mono, tails, export settings and the metadata basics, on one page. Leave your email and it opens straight away, or read it here first. No email needed for that.