This page runs R128Net in your browser as WebAssembly. Nothing is uploaded. It measures the audio chosen in section 1 the way a broadcast loudness meter does, then finds the gain that brings it to a target loudness and measures the result again.
1. Audio
Voice: Linda Johnson, recorded for LibriVox, from the LJ Speech Dataset by Keith Ito. The dataset is in the public domain.
Your file stays in your browser. A WAV file is read as it is. Any other format is decoded by the browser, to 48 kHz where it allows that. Only the first 120 seconds are used.
- The test programme is generated in your browser: a quiet chord, a loud one with a beat, almost silence, and a chord of medium loudness. The almost silent part is below the absolute gate and the quiet chord is below the relative gate, so neither counts towards the integrated loudness.
- The 1 kHz sine measures -23.0 LUFS. Its peak is -23 dBFS in both channels.
- The 12 kHz sine is sampled at 48 kHz so that no sample lands on a crest. The largest sample is 3 dB below the real peak of the waveform, which lies between two samples. Sample peak shows the first and true peak the second.
2. Loudness
| Measurement | Value |
|---|---|
| Integrated loudness | |
| Loudness range | |
| Relative gate | |
| Highest momentary loudness | |
| Highest short-term loudness | |
| Sample peak, each channel | |
| True peak, each channel |
- Momentary loudness covers the last 400 ms and short-term loudness the last 3 s. The chart reads both every 100 ms, and short-term loudness starts at 3 s.
- Integrated loudness leaves out the blocks below -70 LUFS, then the blocks more than 10 LU below the average of the rest. That second limit is the relative gate.
- Loudness range is the spread of the short-term loudness, as EBU Tech 3342 defines it. It reads 0 LU when too few blocks pass the gate, which is the case for audio shorter than 3 s.
- True peak is the highest value the waveform reaches between the samples, found by oversampling.
3. Gain to a target
R128Net measures and never changes the audio. The gain below is the target minus the integrated loudness. This page applies it to a copy, rounds the copy to 16 bits and measures the copy again.
4. Cost of each mode
Every mode costs processing time, so asking for only the modes you need is the simplest way to speed up a measurement. The button feeds the audio above to meters with six sets of modes and times each of them in this browser. It then checks how much managed memory the measurement allocates.
| Modes | Time | Times real time |
|---|---|---|
| Momentary | ||
| Integrated | ||
| Loudness range | ||
| Integrated and sample peak | ||
| Integrated and true peak | ||
| Every mode |
Notes
- The first visit downloads about 2.2 MB, mostly the .NET runtime, and the page starts doing so as soon as it opens. The code is compiled ahead of time, so nothing is compiled while you wait. The next visit reuses what the browser has kept.
- The work runs in a Web Worker, so the page stays responsive while it measures.
- The check runs the measurement once before it counts, because the WebAssembly runtime allocates a few kilobytes of its own the first times some of its code runs.
- WebAssembly brings its own math library and its own vector instructions, so the times here are not those in the tables of the README, and the last digits of a result can differ from a native build. The native builds are the ones verified against the original.