Why architecture matters here
Architecture matters here because the failure is continuous rather than catastrophic, which means nobody files a bug. Podcasts alternate between inaudible and shouting. Ads are noticeably louder than programming — the complaint that produced actual legislation. Video conferences make the quiet participant unintelligible. None of these produce an error, so they persist for years, and each is a level-management failure that a correct measurement would have caught before publish.
It matters, second, because the wrong fix is available and appealing. Faced with inconsistent levels, the instinct is compression: squash the dynamics and everything sits in a narrow band. This works, in the sense that the knob-lunge stops, and it costs you the music. The loudness war was exactly this instinct applied at industry scale, and it ended not through taste but because streaming platforms normalised on playback, which made a crushed master sound quieter and thinner than a dynamic one. Measurement changed the incentive; nothing else had.
Third, the peak-versus-loudness distinction has a sharp technical edge that catches implementers. Sample peak measures the samples you have. The analogue signal reconstructed between them can exceed the highest sample — inter-sample peaks — and a lossy codec's output can exceed the input's peak as well. A file that measures 0.0 dBFS in your editor can clip audibly in a listener's DAC or after transcoding. True-peak measurement oversamples to estimate the reconstructed waveform, which is why every standard specifies a ceiling below full scale.
Finally, targets are contested and multiple. Broadcast settled near -23 LUFS with room for dynamics. Streaming music converged near -14. Podcast guidance clusters around -16 to -19. Your asset will be consumed under several of these, possibly simultaneously, and the only design that survives that is one which stores the measurement and defers the correction — because the alternative is a per-platform re-encode of everything you own, every time a platform changes its mind.
The architecture: every piece explained
K-weighting is the front of the chain: a two-stage filter — a high-frequency shelf approximating the acoustic effect of a head, plus a high-pass rolling off low frequencies — applied before any energy is measured. Its purpose is to make the number perceptual. Un-weighted, a subsonic rumble contributes energy the ear barely registers; weighted, it contributes roughly what it sounds like it contributes. This filter is why LUFS tracks perception where RMS does not, and it is fully specified in BS.1770 so every conformant meter agrees.
Block mean-square follows. The weighted signal is chopped into 400ms blocks with 75% overlap, and each block's mean square is computed, then summed across channels with per-channel weights — front channels at unity, surrounds boosted about 1.5 dB, LFE excluded. The 400ms window matters: much shorter and you are measuring the waveform rather than loudness; much longer and transients smear. This block series is also what feeds short-term (3s) and momentary (400ms) meters, which are for monitoring, not for the delivery number.
Gating is the part naive implementations skip and the part that makes the number usable. Two gates run in sequence. The absolute gate discards any block below -70 LUFS, removing digital silence that would otherwise pull the mean down. The relative gate then computes the mean of surviving blocks and discards anything more than 10 LU below it, removing quiet passages. The result is that integrated loudness reflects the parts of the program someone is actually listening to. Without gating, a film with long silences measures far quieter than it sounds, and normalising to that number makes the dialogue deafening — which is precisely the bug that gating was introduced to fix.
The gain offset is the correction, and its simplicity is the design's virtue. Measured -19.4 LUFS, target -16, so apply +3.4 dB — uniformly, to every sample, with no time-varying behaviour. Every internal loudness relationship the mix engineer built survives untouched. This is why loudness normalisation and compression are different operations that get confused: one moves the program, the other reshapes it, and only the first is what a platform should be doing on your behalf.
True-peak limiting and loudness range complete the picture. Positive gain can push peaks past full scale, so a limiter with a true-peak detector — oversampling 4x to estimate the reconstructed waveform — catches inter-sample peaks and holds a ceiling, typically -1 dBTP. Loudness range (LRA) is a separate statistic describing the spread between quiet and loud passages, and it is diagnostic rather than corrective: high LRA means normalisation alone may not make dialogue audible in a car, and low LRA on a music master means someone already crushed it.
End-to-end flow
Follow an episode. A podcast producer uploads a 45-minute file: two hosts recorded on different mics, one interview over a phone line, and music beds. The ingest worker decodes to PCM and runs the BS.1770 chain. K-weighting is applied, 400ms blocks are accumulated, and both gates run. The absolute gate drops the two minutes of room tone before the intro. The relative gate drops the quiet pauses between sentences. Integrated loudness: -21.7 LUFS. True peak: -0.3 dBTP. LRA: 11 LU.
Those three numbers are stored as metadata against the asset, and the original file is not modified. That last point is the architectural decision. The platform's current target is -16 LUFS, but the same asset must also be delivered to a partner at -19 and syndicated to a broadcaster at -23. Storing the measurement rather than a normalised render means all three are the same file plus a different offset, and next year's target change costs nothing.
The LRA of 11 LU raises a flag before publish. That is a wide range for spoken word — the phone-line interview is much quieter than the studio hosts, and no single gain fixes a variance that exists inside the program. The pipeline surfaces this to the producer rather than silently compressing it, because the right fix is upstream: level the interview segment separately in the edit. A pipeline that quietly applied a compressor here would have hidden a production problem and made every future episode worse.
The producer re-uploads with the interview levelled; LRA is now 6 LU, integrated -21.2. At playback, the client applies +5.2 dB. Peaks were at -0.3 dBTP, so +5.2 would push them to +4.9 — well past full scale and audibly clipping. The playback chain's true-peak limiter catches this, holding -1 dBTP. Because the limiter only engages on the handful of transients that exceed the ceiling, the audible effect is nil; had the source been peak-normalised to 0 dBFS with a 3 LU higher measured loudness, the limiter would be working constantly and you would hear it.
The same asset delivered to the broadcaster gets -1.8 dB instead, and to the partner +2.2 dB. One measurement, three deliveries, no re-encode, no generational loss. And when the platform revises its target from -16 to -14 eighteen months later, the change is one config value — versus a re-encode of the entire catalogue, which is the bill the alternative architecture presents at exactly the moment you cannot refuse it.
Two moments in that flow deserve to be held up against each other, because together they define the entire discipline. The first is the LRA flag. The pipeline had the option to make the wide-range episode conform by reaching for a compressor — squash the loud studio hosts down toward the quiet phone interview and the number would improve while nobody complained. It refused, and surfaced the problem to a human instead. The second is the limiter at playback, which did reach into the signal and alter it — but only on the handful of transient samples that would otherwise clip, and only to protect the listener's hardware from a reconstruction the file's own peak metadata could not have predicted. The contrast is the whole philosophy: the system declines to be a dynamics processor where dynamics are editorial intent, and consents to be one only where the alternative is audible clipping in a DAC. Every recurring loudness complaint in the wild — the shouting podcast, the deafening ad, the inaudible conference participant — traces to a pipeline that got this backwards, compressing where it should have measured and passing through where it should have limited.
It also matters that the measurement happened once and travelled as three numbers. Loudness normalisation done badly is a verb applied repeatedly — the recording software normalises on export, the ingest pipeline normalises on receipt, the delivery CDN normalises per platform, the player normalises again — and each pass runs its own limiter, each limiter shaves the same transients a little flatter, and the cumulative result is a track that has been quietly compressed by four independent stages none of which believed it was the one doing damage. The metadata-driven design makes normalisation a noun instead: the program is measured once, authoritatively, and every stage after that reads the same LUFS, true-peak, and LRA figures and applies at most a single deferred gain at the very end. The audio itself is touched exactly once, at playback, by exactly one limiter — which is the only arrangement under which a 45-minute episode arrives at the listener sounding the way the producer signed off on it.