Projects Newly released projects
ZwickerLoudness.jl
Newly released project. First registered in February 2026. Not yet seen to be widely used in the community. Check its validation before relying on it.
Julia package that computes ISO 532-1:2017 Zwicker loudness from one-third-octave band levels: the stationary method (clause 5) from 28 band levels and, since v0.3.0, the time-varying method (clause 6) with N5 and N10 from a band-level time series. It does not take audio; ZwickerLoudnessAudio.jl is its front end for waveforms.
| Repository | https://github.com/slink/ZwickerLoudness.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 | newly released First released less than about a year ago, and not yet seen to be widely used in the community. |
| Licence | MIT |
| Package | Julia General ZwickerLoudness |
| Install | using Pkg; Pkg.add("ZwickerLoudness") |
| Latest release | v0.3.0 (2026-09) |
| Last commit | 2026-09-02 active |
| GitHub stars | 4 |
| 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 | 8 October 2026 |
What it implements
| Metric | Edition | Functions | Validation (as stated) | Notes |
|---|---|---|---|---|
| Zwicker loudness | ISO 532-1:2017 stationary, from 28 one-third-octave band levels; since 0.2.0 | zwicker_loudness | standard or paper data (one Annex B signal) also compared with MoSQITo | new |
| Zwicker loudness | ISO 532-1:2017 time-varying, from band levels at 2000 Hz; N5 and N10; since 0.3.0 | zwicker_loudness_time_varying | standard or paper data (one Annex B signal) also compared with MoSQITo (its source) | new |
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 28 one-third-octave band levels)
standard or paper data (one Annex B signal) also compared with MoSQITo
- Checked against ISO 532-1 Annex B signal 1, the only 28-band reference in Annex B (83.296 sone, tolerance ±5 %).
- Checked per Bark bin against MoSQITo output (maximum difference below 0.001 sone/Bark).
- Zwicker loudness · ISO 532-1:2017 (time-varying, from band levels at 2000 Hz; N5 and N10)
standard or paper data (one Annex B signal) 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.
- Stages are tested against MoSQITo
loudness_zwtvintermediates (agreement about 1e-9 to 1e-15). - An Annex B.4 "Test signal 6" test regenerates band levels from a local MoSQITo checkout and is skipped when none is present; CI clones MoSQITo for it.
- The ISO WAV files are not included.
- Stages are tested against MoSQITo
Notes
- Version 0.1.0 (February 2026) was described as "ISO 532B" and was never registered; the code was rewritten for ISO 532-1:2017 in 0.2.0, the first version in the Julia General registry (2026-02-11).
- The time-varying kernel takes a 28 × n matrix of band levels at the standard's 2000 Hz block rate. Its transcription reference is MoSQITo's
loudness_zwtvat commitd990c33f94f1. - Free-field and diffuse-field listening conditions are supported.
Before you rely on it
- N5 and N10 use Hyndman–Fan type 7 quantiles; the README notes that MATLAB's
prctile(type 5), used by SQAT, can differ by a few percent on the same data.
Sources
- https://github.com/slink/ZwickerLoudness.jl
- https://github.com/slink/ZwickerLoudness.jl/blob/main/README.md
- https://github.com/slink/ZwickerLoudness.jl/blob/main/test/fixtures/NOTICE.md
- https://github.com/slink/ZwickerLoudness.jl/releases
- https://github.com/JuliaRegistries/General/tree/master/Z/ZwickerLoudness
- https://github.com/slink/ZwickerLoudness.jl/blob/main/src/method2.jl