public sealed class LoudnessMeterEffectHow loud the mix actually is, by the standard every platform measures against.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Loudness is not level. A peak meter says how close the signal is to clipping, which is a question about arithmetic; a loudness meter says how loud it sounds, which is a question about ears. Two mixes that peak at the same place can be six decibels apart to a listener, and it is the second number that Xbox, PlayStation and every streaming platform hold you to. Shipping without one means finding out at certification.
ITU-R BS.1770 / EBU R128, which is one algorithm with two names. K-weight each channel — a high-pass and a high shelf, standing in for the head and torso — take the mean square over a window, weight the surrounds up by 1.5 dB, sum, and put it in decibels with an offset that makes a 1 kHz sine at −23 dBFS read −23 LUFS. Every part of it is in the standard and none of it is a choice.
The gate is the part everybody gets wrong. Integrated loudness is not the mean of the whole programme: blocks below −70 LUFS are dropped outright, and then blocks more than 10 LU below the mean of what is left are dropped too, and the mean is taken again. Without it, a minute of silence at the end of a level halves the reported loudness of the level.
It changes nothing. The signal passes through untouched — this is a meter, and a meter that altered what it measured would be a compressor.
Sample peak, not true peak. A true-peak meter oversamples by four to catch what the reconstruction filter will do between samples, which is another filter bank per channel for a number that is typically a decibel higher. It is owed for certification proper; the sample peak is what says whether the mix is clipping now.
Fields and properties (10)
public bool EnabledWhether it does anything. A bypassed effect costs one branch a block.
public float MomentaryThe last 400 milliseconds, in LUFS. Negative infinity when there is nothing yet.
public float ShortTermThe last three seconds, in LUFS.
public float IntegratedEverything since the last Reset, gated, in LUFS.
public float SamplePeakThe loudest single sample since the last Reset.
public float TruePeakThe loudest point of the waveform a converter will actually produce, which is not the same thing and is never lower.
public float TruePeakDbTpThe same in dBTP, which is the unit a ceiling is written in.
public bool MeasureTruePeakWhether to oversample for TruePeak.
public float LoudnessRangeHow far the programme moves, in LU: the spread between its quiet passages and its loud ones.
public long GatedBlocksHow many 400 ms blocks have gone into Integrated after gating.
Methods (3)
public void Prepare(in AudioFormat format, int maxFrames)Sizes and clears every buffer the effect needs.
public void Process(Span<float> buffer, int frameCount, int channels)Processes a block in place.
public void Reset()
Used by (2)
- LoudnessTestsVixen.Audio.Tests
- TruePeakTestsVixen.Audio.Tests