But IIRCoefficients class and IIRFilter base take coefficients from c1 to c6. I couldn’t find any documentation on what’s the relation of 5 ‘a’ and ‘b’ coefficients to 6 ‘c’ coefficients. For now I assumed:
For context, my sense of what happened here is that the standards authors sent an obscene gesture to the developer community by specifying the LUFS K-weighting filters only in terms of coefficients for a 48kHz implementation, to the exclusion of traditionally helpful metrics such as -3dB or -6dB cutoff frequencies, Q-factors or dB/octave filter slopes. The developer community then returned this gesture by implementing every new LUFS meter with a unique K-filter design. If you haven’t already, open up your favorite LUFS plugins at the same time and see how much diversity of measurement they all report from the same source material.
This presents us with a philosophical question as to whether it is actually important to match the official standard for calculating LUFS; or whether is it indeed more practical merely to agree with whatever other flawed LUFS meter that your user has open alongside yours.
As you struggle through this, here are a couple of resources you may find helpful:
This doesn’t quite match the frequency response of Klangfreund’s K-weighting, but it’s close enough for government work, especially if you add 0.07dB to your final result.
I will leave a couple of questions that presently weigh on my mind:
Does anybody have insight they can share into how the major streaming services calculate LUFS, specifically the K-weighting filters?
Would it make sense for JUCE to include a module for LUFS, so that every new learner doesn’t have to wrestle in futility with ITU-R BS.1770?
The broadcasters’ QC departments must use some sort of loudness meter like the rest of us (varying across broadcasters) but the spec always has a few dB wiggle room and I don’t hear about QC fails due to inconsistencies in measurements.
I don’t think they let the QC people meet the audio post people so I don’t think I’ll get a better answer than that for you…