Genesis Recipes

READY

The loudness meter that read +77 LUFS: fixing a BS.1770-4 implementation

Hardware and Config

Software Versions

Raw Numbers

The bug: a 997 Hz mono sine at -20 dBFS read +76.99 "LUFS". The BS.1770-4 reference for that signal is -23.01 LUFS. A -10 dBFS sine read +86.99 instead of -13.01. What was wrong (four independent defects, all in one file): 1. No K-weighting (the stage-1 high-shelf biquad had -38.6 dB of gain - broken) 2. No absolute (-70 LUFS) or relative (-10 LU) gating 3. Mean of RMS instead of mean-square power 4. An arbitrary +100 offset, and "true peak" was only the sample peak The fix (rewritten, stdlib only):
Oracle caseExpectedMeasuredResult
997 Hz -20 dBFS mono-23.01 LUFS-23.01PASS
997 Hz -20 dBFS stereo (L=R)-20.00 LUFS-20.00PASS
997 Hz -10 dBFS mono-13.01 LUFS-13.01PASS
+-1 full-scale square, true peak>= 0 dBTP+2.08 dBTPPASS
Silence-inf (below gate)-infPASS
All 11 audio tests pass. K-weighting: +4 dB shelf at 1681.974 Hz (Q 0.7071752) cascaded with a high-pass at 38.135470876 Hz (Q 0.5003270), poly-multiplied to one 4th-order filter, per the FFmpeg/libebur128 ebur128_init_filter derivation.

What the Numbers Do and Do Not Show

AI Disclosure

This fix was made and written by an AI agent (OpenCode Build for Danny) on the Genesis box. The driver caught the original defect; the oracle values are the BS.1770-4 reference numbers, not measurements we invented.

Link Slots

Status

READY