LEVELAPI2

Test method

A TEST METHOD FOR
LIVE LOUDNESS ADJUSTERS

A live loudness adjuster holds audio on a loudness target while the audio is still arriving, with no view of what comes next. No standards body publishes reference audio or pass criteria for that job, as the EBU and the ITU do for loudness meters. This page sets out a method: the test signals, how the output is measured, and the criteria it is graded against.

It applies to any adjuster, not only one product. Every synthetic signal is defined here precisely enough to regenerate it, and the programme cases use reference files anyone can download, so a result can be checked by someone who has neither the software that produced it nor the audio it was tuned on. Each criterion carries its reason.

45Synthetic cases
3Published reference files
5Graded criteria
100 msMeasurement clock

CONTENTS

1WHAT IS TESTED

The device under test takes audio in blocks, adjusts its level toward a declared loudness target, and hands it back after a fixed delay. Everything it decides comes from audio it has already received, plus whatever look-ahead that delay buys it. That is what separates it from a two-pass normaliser, which reads the whole programme before it writes any of it.

Before a run, the device's declarations are fixed and stated in the report:

2THE SYNTHETIC SIGNALS

Every synthetic case is 48 kHz, two channels, generated in double precision. A case is a sequence of parts, each one signal at one level for a stated time. Four signals are used.

The random number generator

xorshift64*, with its state initialised from the seed s through splitmix64, because xorshift started directly on small consecutive seeds gives correlated first outputs. All arithmetic is unsigned 64-bit, wrapping.

init:   z = s + 0x9E3779B97F4A7C15
        z = (z ^ (z >> 30)) * 0xBF58476D1CE4E5B9
        z = (z ^ (z >> 27)) * 0x94D049BB133111EB
        x = z ^ (z >> 31)

next:   x ^= x >> 12;  x ^= x << 25;  x ^= x >> 27
        r  = x * 0x2545F4914F6CDD1D
        u  = (r >> 11) * 2^-53          in [0, 1)
        w  = 2u - 1                     in [-1, 1)

Seeds. Each family of cases has one seed (section 3). Part k of a case, counted from 0, uses seed + 16k, and channel c adds c. So every case in a family carries the same audio in the same place and differs only in what its name says.

Pink noise

White samples w from the generator, filtered by Paul Kellet's refined pink filter, in double precision, with all seven states at zero at the start of each part. The two channels are independent (each has its own seed).

b0 = 0.99886 b0 + w * 0.0555179      b4 = 0.55000 b4 + w * 0.5329522
b1 = 0.99332 b1 + w * 0.0750759      b5 = -0.7616 b5 - w * 0.0168980
b2 = 0.96900 b2 + w * 0.1538520      pink = b0 + b1 + b2 + b3 + b4 + b5 + b6 + w * 0.5362
b3 = 0.86650 b3 + w * 0.3104856      b6 = w * 0.115926

The filter was designed at 44.1 kHz, so its slope shifts slightly at 48 kHz. The signal is defined by the recurrence above, not by a claim about its spectrum.

Room tone, bursts and silence

Levels

Each part is scaled so that its own integrated loudness, measured alone to ITU-R BS.1770-4, equals its stated level. Levels are written relative to the target, as T or T - 10, except room tone. Measuring once at a fixed scale and then scaling linearly is exact, because both gates are relative to the signal once it clears the -70 LUFS absolute gate. For a burst part, the measurement covers the whole part, silences included, as the gates treat them.

The set is defined for T = -23 LUFS. No part is louder than T + 10, so no signal needs headroom above digital full scale there. At a higher target the loudest parts would clip, so a report at another target states which synthetic cases it re-levelled or left out.

3THE SYNTHETIC CASES

Forty-five cases in eight families. Parts are listed in order, as signal, level, length. The need of a part is the gain that would put it exactly on target: T minus its level.

CaseSeedPartsWhat it shows
S1.+610pink T 180 s, pink T+6 180 sThe step response from a settled state, up and down. The larger steps up are moved down the scale so no part exceeds T+10; they keep their size.
S1.+1210pink T-2 180 s, pink T+10 180 s
S1.+2010pink T-10 180 s, pink T+10 180 s
S1.-610pink T 180 s, pink T-6 180 s
S1.-1210pink T 180 s, pink T-12 180 s
S1.-2010pink T 180 s, pink T-20 180 s
S2.620pink T-6 180 s, pink T 180 sThe step after a correction has built up: the adjuster has raised a quiet signal (or lowered a loud one), and the level returns to target with that gain still applied. The step up is the hard case for an adjuster that cannot see ahead.
S2.1220pink T-12 180 s, pink T 180 s
S2.2020pink T-20 180 s, pink T 180 s
S2.-620pink T+6 180 s, pink T 180 s
S2.-1220pink T+10 180 s, pink T-2 180 s
S2.-2020pink T+10 180 s, pink T-10 180 s
S3.up-the reference medley (section 4) for 360 s, at -12 dB for the first 180 s, then at unityThe same step on programme instead of noise.
S3.down-the reference medley for 360 s, at unity for 180 s, then at -12 dB
S4.T.D40pink T 120 s, silence D s, pink T 120 s; D = 2, 10, 30, 60, 120Whether the gain holds through a pause, and what the programme meets when it returns. At T-10 the correction is large, so letting it go during a long pause means the programme returns 10 LU low.
S4.L.D40the same at T-10
S5.N.D50pink T-10 120 s, room tone at N for D s, pink T-10 120 s; N = -60, -50, -45 LUFS; D = 5, 30, 120A pause that is not silent. An adjuster that treats room tone as quiet programme raises it, and greets the returning programme with that gain.
S6.160pink T-15 120 s, silence 10 s, bursts at T 60 sSilence into drums: a loud percussive onset after a quiet passage has built up a boost.
S6.260pink T-15 120 s, room tone at -50 LUFS 10 s, bursts at T 60 s
S770pink T-10 300 s; the device is reset at 120 sRecovery from a reset in mid-stream. The reset lands on the first block boundary at or after 120 s.
S8.N.D80room tone at N for D s, pink T 240 s; N = -60, -50, -45 LUFS; D = 30, 120, 300A stream switched on before the programme starts. The correct gain is 0 dB throughout, so any movement is the adjuster's.

4PROGRAMME MATERIAL

Published reference files

Three files that the EBU and the ITU publish for testing loudness meters serve as programme anyone can obtain. The checksums identify the exact files.

CaseFileSourceSHA-256
P3seq-3341-2011-8_seq-3342-6-24bit-v02.wavEBU Loudness test set v05 (EBU Tech 3342 case 6)13cb1c1c...62c2bdc6a
P4.11770-2 Conf Stereo VinL+R-23LKFS.wavITU-R BS.1770 conformance material (Report ITU-R BS.2217)3ff26c99...66f38c296f
P4.21770-2 Conf Mono Voice+Music-23LKFS.wavITU-R BS.1770 conformance material (Report ITU-R BS.2217)f8b31847...2dd0785b
13cb1c1ca8496c868a768bd1afc5e6a75841235000b68285e895bce62c2bdc6a  seq-3341-2011-8_seq-3342-6-24bit-v02.wav
3ff26c997d838aff36b4319f9e0a673c0b51fe26722ecb0153887b66f38c296f  1770-2 Conf Stereo VinL+R-23LKFS.wav
f8b318474b158c9f2ee842f0cfadf58ffcf504ffe8daa172220190d12dd0785b  1770-2 Conf Mono Voice+Music-23LKFS.wav

P5, the reference medley, is the three joined end to end in the order above, with no gap. The mono file is read as two channels, each carrying the mono signal at 1/√2, which keeps its BS.1770 loudness. The medley also carries the S3 cases. P4.2 is the same mono file as one channel.

Material of your own

A report may add programme of its own choosing, and should: speech, music, film, live streams, and joins between them. For each item it states the source, the licence, the length, the source's sample peak, and whether it has been through a lossy codec. Two limits follow from the criteria. An item shorter than 16 minutes cannot carry criterion G2, and a lossy item is left out of G3, because a codec's own inter-sample overshoot cannot be told apart from the adjuster's.

5RUNNING A CASE

6WHAT IS MEASURED

Everything graded is measured from the audio alone, so no access to the device's internals is needed. The same instrument measures the device's output and both reference processings.

If the device reports its gain

These figures need the applied gain and are reported where it is available:

7THE REFERENCE PROCESSINGS

A figure on its own says little: a percentage in band depends as much on the material as on the adjuster. So every case is also measured twice without an adjuster, by the same instrument.

8THE CRITERIA

Five criteria are graded pass or fail. Everything else in section 6 is reported beside them, against the reference processings, without a pass line.

IdCriterionApplies toReason
G1 Whole-case integrated loudness of the output within T ± 1 LU. Every programme case, at every setting tested. EBU R 128 permits ±1.0 LU on live programme. A programme measured end to end is how a loudness log judges it.
G2 WL inside T ± 1 LU on at least 95 % of counted readings, and inside at the end. Cases longer than 16 minutes (60 s of settling plus the 900 s window). A feed that runs for hours has no end to measure to. Any quarter of an hour of it should read on target, with room left for genuine changes of material.
G3 Maximum true peak no higher than the declared ceiling + 0.2 dB. Lossless material only: the synthetic cases and the reference files, at every block size of section 5. 0.2 dB is the true-peak meter tolerance EBU Tech 3341 allows.
G4 At the end of every part that is not a pause, its last 30 s (W30) within T ± 1 LU. Synthetic parts whose need is within the declared maximum boost. A steady signal given time to settle should end on target. A part the device is declared unable to reach is reported instead.
G5 At every block size, whole-case integrated output within 0.1 LU, and the W10 in-band share within 2 points, of the reference block's. Where the device declares a block size to give identical output, identical sample for sample. Every case, at each block size of section 5. The host chooses the buffer size. The result should not depend on it.

Why short windows carry no pass line. Programme material moves several LU from moment to moment, and a good adjuster leaves that movement alone. A pass line on a 3 s or 10 s window would reward flattening the programme. Those windows are reported against the reference processings, which show how much of the movement belongs to the material.

9WHAT A REPORT STATES

10WHAT THE METHOD DOES NOT COVER