ABA AudioVibes · EBU Tech 3341 and 3342
AudioVibes · EBU test set
ABA AudioVibes, build 2026-10-15.1, computed to and passes the EBU Tech 3341/3342 minimum-requirements test set (v05), 29 of 29. All 29 test cases in the two standards were run through the ABA AudioVibes engine on 15 October 2026; the run was independently repeated and confirmed the same day.
Verified Independently re-run and confirmed on 15 October 2026. The claim on this page is the signed one, and only that one.
engine.js md5 ea26ec84b1acf6caa2332c4689086304
The run, on video
The 29 cases ticking through in Chromium, with the expected value, our value and the result on each. The video is the trailer. The proof is the results table and the runner below.
The video is silent. The EBU readme limits the test material to technical testing, so it is left off the soundtrack, and the EBU's name appears only as the publisher of the documents. Build 2026-10-15.1, engine.js md5 ea26ec84b1acf6caa2332c4689086304, 15 October 2026.
What was tested
The EBU loudness test set, version 05 (30 March 2016): 70 WAV files published by the European Broadcasting Union for testing loudness meters. The expected values and tolerances are Table 1 of EBU Tech 3341 V4 and Table 1 of EBU Tech 3342 V4, both dated November 2023, read from the published PDFs.
Tech 3341 has 23 test cases: integrated loudness with the absolute and relative gates, momentary and short-term loudness, the two live-meter cases with twenty successive tones, and nine true-peak cases. Tech 3342 has six loudness-range cases. Cases 10 and 13 are twenty files each, so the 29 cases cover 66 files. The other four files in the set, three labeled sines and the Tech 3343 listening-level noise, have no published tolerance; they are shown separately below and not counted.
A case passes when each reading it asks for, rounded to 0.01 as the tool itself rounds, sits inside the tolerance. Case 1, for example, is three checks: integrated loudness, each momentary value across the file, and each short-term value across the file. 72 checks in all.
29 of 29: ABA AudioVibes passes the EBU Tech 3341/3342 minimum-requirements test set (v05)
Expected values and tolerances from Tech 3341 V4 and Tech 3342 V4, Table 1. Our reading is the engine's output; the difference from the expected value is in brackets. LUFS for loudness, LU for loudness range, dBTP for true peak.
| Case | What it tests | Expected and tolerance | Our reading | Result |
|---|---|---|---|---|
| 3341‑1 | Stereo 1 kHz sine, −23.0 dBFS, 20 s | Integrated loudness −23 LUFS, ±0.1 | −22.95 LUFS (+0.05); 3 checks, worst +0.05 on integrated loudness | Pass |
| 3341‑2 | Stereo 1 kHz sine, −33.0 dBFS, 20 s | Integrated loudness −33 LUFS, ±0.1 | −32.96 LUFS (+0.04); 3 checks, worst +0.04 on integrated loudness | Pass |
| 3341‑3 | 10 s −36 / 60 s −23 / 10 s −36 dBFS (relative gate) | Integrated loudness −23 LUFS, ±0.1 | −23.01 LUFS (−0.01) | Pass |
| 3341‑4 | −72 / −36 / −23 / −36 / −72 dBFS (absolute + relative gate) | Integrated loudness −23 LUFS, ±0.1 | −23.01 LUFS (−0.01) | Pass |
| 3341‑5 | 20 s −26 / 20.1 s −20 / 20 s −26 dBFS | Integrated loudness −23 LUFS, ±0.1 | −22.98 LUFS (+0.02) | Pass |
| 3341‑6 | 5.0 sine: L,R −28, C −24, Ls,Rs −30 dBFS (WAVE_FORMAT_PCM) | Integrated loudness −23 LUFS, ±0.1 | −23.02 LUFS (−0.02); 2 checks, worst −0.02 on integrated loudness | Pass |
| 3341‑7 | Authentic program 1, narrow loudness range | Integrated loudness −23 LUFS, ±0.1 | −22.99 LUFS (+0.01) | Pass |
| 3341‑8 | Authentic program 2, wide loudness range | Integrated loudness −23 LUFS, ±0.1 | −23.00 LUFS (+0.00) | Pass |
| 3341‑9 | (1.34 s −20 / 1.66 s −30 dBFS) x5: S constant after 3 s | Short-term after 3 s −23 LUFS, ±0.1 | −22.99 LUFS (+0.01) | Pass |
| 3341‑10 | Twenty files: i·0.15 s silence, 3 s at −23 dBFS, 1 s silence (file-based Max S) | Max short-term −23 LUFS, ±0.1 | −22.99 LUFS on all twenty files (+0.01) | Pass |
| 3341‑11 | 20 tones (i*0.15 s silence, 3 s at −38+i dBFS, 3-i*0.15 s silence): Max S −38, −37 ... −19 in succession (live-meter case) | Max S, twenty readings −38 … −19 LUFS, ±0.1 | −37.99 … −18.99 LUFS; all twenty inside tolerance and successive | Pass |
| 3341‑12 | (0.18 s −20 / 0.22 s −30 dBFS) x25: M constant after 1 s | Momentary after 1 s −23 LUFS, ±0.1 | −22.96 LUFS (+0.04) | Pass |
| 3341‑13 | Twenty files: i·20 ms silence, 400 ms at −23 dBFS, 1 s silence (file-based Max M) | Max momentary −23 LUFS, ±0.1 | −22.99 LUFS on all twenty files (+0.01) | Pass |
| 3341‑14 | 20 tones (i*20 ms silence, 400 ms at −38+i dBFS, 400-i*20 ms silence): Max M −38, −37 ... −19 in succession (live-meter case) | Max M, twenty readings −38 … −19 LUFS, ±0.1 | −37.99 … −18.99 LUFS; all twenty inside tolerance and successive | Pass |
| 3341‑15 | True peak: fs/4 sine, 0.50 FFS, phase 0 | True peak −6 dBTP, +0.2 / −0.4 | −6.00 dBTP (+0.00) | Pass |
| 3341‑16 | True peak: fs/4 sine, 0.50 FFS, phase 45 deg | True peak −6 dBTP, +0.2 / −0.4 | −5.96 dBTP (+0.04) | Pass |
| 3341‑17 | True peak: fs/6 sine, 0.50 FFS, phase 60 deg | True peak −6 dBTP, +0.2 / −0.4 | −6.30 dBTP (−0.30) | Pass |
| 3341‑18 | True peak: fs/8 sine, 0.50 FFS, phase 67.5 deg | True peak −6 dBTP, +0.2 / −0.4 | −6.01 dBTP (−0.01) | Pass |
| 3341‑19 | True peak: fs/4 sine, 1.41 FFS, phase 45 deg | True peak 3 dBTP, +0.2 / −0.4 | 3.05 dBTP (+0.05) | Pass |
| 3341‑20 | True peak: fs/6 sine + one period fs/4 at 1.00, 0-sample offset | True peak 0 dBTP, +0.2 / −0.4 | −0.13 dBTP (−0.13) | Pass |
| 3341‑21 | True peak: as 20, 1-sample offset at 4fs | True peak 0 dBTP, +0.2 / −0.4 | −0.08 dBTP (−0.08) | Pass |
| 3341‑22 | True peak: as 20, 2-sample offset at 4fs | True peak 0 dBTP, +0.2 / −0.4 | −0.20 dBTP (−0.20) | Pass |
| 3341‑23 | True peak: as 20, 3-sample offset at 4fs | True peak 0 dBTP, +0.2 / −0.4 | −0.08 dBTP (−0.08) | Pass |
| 3342‑1 | 20 s −20 then 20 s −30 dBFS | Loudness range 10 LU, ±1 | 10.00 LU (+0.00) | Pass |
| 3342‑2 | 20 s −20 then 20 s −15 dBFS | Loudness range 5 LU, ±1 | 5.00 LU (+0.00) | Pass |
| 3342‑3 | 20 s −40 then 20 s −20 dBFS | Loudness range 20 LU, ±1 | 20.00 LU (+0.00) | Pass |
| 3342‑4 | −50 / −35 / −20 / −35 / −50 dBFS, 20 s each | Loudness range 15 LU, ±1 | 15.00 LU (+0.00) | Pass |
| 3342‑5 | Authentic program 1, narrow loudness range | Loudness range 5 LU, ±1 | 4.98 LU (−0.02) | Pass |
| 3342‑6 | Authentic program 2, wide loudness range | Loudness range 15 LU, ±1 | 15.00 LU (+0.00) | Pass |
Supplementary files, not counted
Not in either Table 1. The expected value is the one in the file name or the set's readme; neither document gives a tolerance, so 0.1 LU is applied by analogy and the result is reported, not scored.
| File | What it is | Labeled | Our reading | Result |
|---|---|---|---|---|
| 1kHz Sine -20 LUFS-16bit | 1 kHz sine labeled −20 LUFS | −20 LUFS, no published tolerance | −19.95 LUFS (+0.05) | Within 0.1 |
| 1kHz Sine -26 LUFS-16bit | 1 kHz sine labeled −26 LUFS | −26 LUFS, no published tolerance | −25.95 LUFS (+0.05) | Within 0.1 |
| 1kHz Sine -40 LUFS-16bit | 1 kHz sine labeled −40 LUFS | −40 LUFS, no published tolerance | −39.99 LUFS (+0.01) | Within 0.1 |
| EBU-reference_listening_signal_pinknoise_500Hz_2kHz_R128 | Mono 500−2000 Hz pink noise, readme: −23 LUFS (Tech 3343 listening level) | −23 LUFS, no published tolerance | −22.97 LUFS (+0.03) | Within 0.1 |
Rerun it yourself
The test set is free and the runner is one command. The page is built to be checked, not taken on trust.
- Download the EBU loudness test set from tech.ebu.ch, with the button below (free; the readme limits it to technical testing) and unzip it to a folder. Keep it out of any repository you publish.
- Get the runner. It is
tests/test_ebu_conformance.jsin the AudioVibes repository, which is private while the tool is in beta. Ask and we will send the runner,engine.jsandshared/wavread.js, the three files it needs; they are the same files the public tool carries word for word. - Run it with Node:
node tests/test_ebu_conformance.js <folder> --json run.json
It reads each WAV, calls the same two engine functions the tool's worker calls, prints one line per check with the expected value, the tolerance, the reading and the difference, and exits non-zero if anything fails. - To see it fail, point it at a broken copy of the engine with
--engine. A runner is worth trusting only once it has been seen to fail; this one has been made to.
Independent cross-checks that do not depend on our code: integrated loudness agrees with pyloudnorm, an independent BS.1770 implementation, to within 0.05 LUFS on the reference material in tests/test_engine_agreement.py.
What this run did not cover
- Other sample rates. All 70 files in the set are 48 kHz, so the K-filter at other rates and the true-peak path at 96 kHz and above were not exercised by it.
- Other browsers. The full set went through the Node runner, which calls the same two engine functions the page's worker calls. The browser path itself was checked in Chromium, with no window open, on a 5-minute file and the fixture files, not on the whole set, and not in Firefox or Safari.
- A non-silent LFE. No file in the set has one. The LFE is left out at weight 0, which is what BS.1770-4 asks.
- Six-channel files opened in the browser. The browser's decoder hands back no channel mask, so a six-channel file is weighted in the standard 5.1 order and channel 4 is treated as the LFE. That is right for standard 5.1 order and not for any other six-channel layout. Layouts other than 5.0, 5.1 and 7.1 are weighted 1.0 per channel.
- ITU-R BS.2217. Tech 3341 asks for that compliance set as well as its own. It has not been run.
- The other ABA tools. The statement covers the ABA AudioVibes engine only. ABA Compare, Phaze Check and Pocket Check were not run against the set.
ABA AudioVibes, build 2026-10-15.1, computed to and passes the EBU Tech 3341/3342 minimum-requirements test set (v05), 29 of 29. The loudness, loudness range and true peak numbers are computed to ITU-R BS.1770-4, EBU R128, EBU Tech 3342 and BS.1770-4 Annex 2. Passing the test set is not, in the EBU's own terms, a conformance certification: Tech 3341 calls these the minimum requirements, and ITU-R BS.2217 has not been run. The statement covers the ABA AudioVibes engine only. This page shows how it read the EBU's own test material on 15 October 2026.
Where the audio goes
The same engine runs the free AudioVibes tool. The two statements below are quoted from our security canon, word for word.
S1. Your audio never leaves your machine. It is decoded and analyzed in your browser, and it is never transmitted.
S3. The measurements do travel. Every completed report is handed to the page that embeds the tool. For signed-in members, the host also stores it against their account. The audio is never part of that. What is stored is published in full, and the list changes only in public.
EBU Tech 3341, EBU Tech 3342 and the EBU loudness test set are published by the European Broadcasting Union. ABA Media Platform | AMP is not affiliated with or endorsed by the EBU.
ITU-R BS.1770-4 is published by the International Telecommunication Union.