ZwickerLoudnessAudio.jl
Listed under Others. It does not compute the metrics itself; its results come from ZwickerLoudness.jl.
Newly released project. First registered in June 2026. Not yet seen to be widely used in the community. Check its validation before relying on it.
Julia front end to ZwickerLoudness.jl that computes ISO 532-1:2017 Zwicker loudness from waveforms or WAV files: stationary loudness, and since v0.3.0 time-varying loudness with N5 and N10.
| Repository | https://github.com/slink/ZwickerLoudnessAudio.jl |
|---|---|
| Language | Julia |
| Kind | Library/Toolbox Functions to call from your own code: a Python package, a MATLAB toolbox, or a C, C++, C#, Rust or Julia library. |
| Group | other Tools that do not compute the metrics themselves: interfaces, front ends and wrappers that call one of the listed projects. |
| Licence | MIT The README credits MoSQITo (Apache-2.0) for the transcribed time-varying filter tables. |
| Package | Julia General ZwickerLoudnessAudio |
| Install | using Pkg; Pkg.add("ZwickerLoudnessAudio") |
| Latest release | v0.3.0 (2026-09) |
| Last commit | 2026-09-02 active |
| GitHub stars | 2 |
| Maintainers | slink |
| AI assistance | not stated |
| How to cite | The README links a Zenodo DOI for the latest version. Name the version or commit you used. |
| Entry checked | 6 October 2026 |
What it implements
| Metric | Edition | Functions | Validation (as stated) | Notes |
|---|---|---|---|---|
| Zwicker loudness | ISO 532-1:2017 stationary, from a waveform or WAV file; since 0.2.0 | loudness_zwst, band_levels | standard or paper data | Computed by ZwickerLoudness.jl. Computes the third-octave levels itself (per-band Butterworth filters of order 3 by default, as in MoSQITo) and passes them to ZwickerLoudness.jl for the loudness. |
| Zwicker loudness | ISO 532-1:2017 time-varying, from a waveform or WAV file at 48 kHz; since 0.3.0 | loudness_zwtv | standard or paper data also compared with MoSQITo (its source) | Computed by ZwickerLoudness.jl. The Annex A filter cascade is transcribed from MoSQITo (_third_octave_levels, _square_and_smooth). |
How it was validated
As reported by the project; LISQM has not run the code. Two implementations that agree can still share the same error. Kinds of evidence.
- Zwicker loudness · ISO 532-1:2017 (stationary, from a waveform or WAV file)
standard or paper data
- ISO 532-1 Annex B signals 2–5, synthesised in-process, are within the standard's ±5 % (+2.9 %, +3.6 %, +0.5 % and +2.6 % per the README).
- Zwicker loudness · ISO 532-1:2017 (time-varying, from a waveform or WAV file at 48 kHz)
standard or paper data also compared with MoSQITo (its source)
Ported or adapted from MoSQITo. It was compared with the code it was ported from, which checks the port only.
- Cross-checked end to end with MoSQITo
loudness_zwtv(N(t) about 3e-16 relative, N5/N10 about 2e-15 absolute). - An Annex B.4 test is skipped when the ISO recording is not available locally.
- Cross-checked end to end with MoSQITo
Before you compare numbers
Implementations of the same metric can give different numbers without either being wrong. Check these choices first.
- Zwicker loudness (ISO 532-1:2017)
- Stationary loudness resamples input below 48 kHz to 48 kHz (polyphase), with a warning.
- Zwicker loudness (ISO 532-1:2017)
- Time-varying loudness accepts 48 kHz input only (an error otherwise).
Notes
- Depends on ZwickerLoudness.jl (compat 0.3), which does the loudness calculation from band levels; this package computes the band levels.
- First registered in the Julia General registry as version 0.2.0 (2026-06-01).