LISQM A List of Open-Source Implementations of Psychoacoustic and Sound Quality Metrics

Version 0.5.10 · data as of 28 October 2026
Source on GitHub

Metrics Loudness

Time-varying loudness, Moore–Glasberg–Schlittenlacher (ISO 532-3)

Loudness of time-varying sounds as instantaneous, short-term and long-term loudness. It starts from the Glasberg & Moore (2002) model; Moore et al. (2016) added binaural inhibition and Moore et al. (2018) revised the time constants. ISO 532-3:2023 standardises the resulting Moore–Glasberg–Schlittenlacher method for stationary and time-varying sounds.

The current edition is ISO 532-3:2023. In development: ISO/CD 532-3. Open-source implementations of it:

Earlier editions or related models: AMT (MATLAB, Octave; Moore et al. (2016); binaural), AMT (MATLAB, Octave; Glasberg & Moore (2002)), AARAE (MATLAB; Glasberg & Moore (2002); time-varying; one channel, or two channels for binaural loudness), torch_amt (Python; newly released, not yet seen to be widely used; Moore et al. (2016); binaural), NumpyLibforPsychoAcoustic (Python; newly released, not yet seen to be widely used; Glasberg & Moore (2002)), torch_amt (Python; newly released, not yet seen to be widely used; Glasberg & Moore (2002); short-term and long-term loudness), LoudnessModel (Python; developing; Moore et al. (2018); instantaneous, short-term and long-term loudness; binaural), deeuu/loudness (C++, Python; legacy, no commit since 2019-08; Glasberg & Moore (2002)), HAW loudness tool (MATLAB; legacy, no commit since 2022-12; Glasberg & Moore (2002); specific loudness over time on ERB bands; three temporal models), PsySound3 (MATLAB; legacy, no commit since 2015-03; Glasberg & Moore (2002); time-varying and binaural), and Swift & Gee codes (MATLAB; legacy, no commit since 2020-01; Glasberg & Moore (2002)).

Editions and who implements them

DateEditionStatusWhat changedImplemented by
2024-11ISO/CD 532-3in developmentSecond edition at committee-draft stage since November 2024.—
2023-07ISO 532-3:2023current
Under revision; the 2nd edition has been at committee-draft stage since 2024-11-01.
Standardised method; source code supplied with the standard.iso532-3 (tv2018.m), phonometry new
2018Moore et al. (2018)publishedRevised time constants.LoudnessModel developing
2016Moore et al. (2016)publishedAdds binaural inhibition.AMT, torch_amt new
2002Glasberg & Moore (2002)publishedTime-varying loudness model (short-term and long-term loudness).AMT, AARAE, NumpyLibforPsychoAcoustic new, torch_amt new, deeuu/loudness legacy, HAW loudness tool legacy, PsySound3 legacy, Swift & Gee codes legacy

Project map

The project map, with only the lines for time-varying loudness (Moore–Glasberg–Schlittenlacher) between the projects listed for it. Agreement between a project and the code it was ported or adapted from only checks the port.

Scroll the picture sideways.

Project map for Time-varying loudness (Moore–Glasberg–Schlittenlacher) Swift & Gee codes: MATLAB m   Swift & Gee codes HAW loudness tool: MATLAB m   HAW loudness tool deeuu/loudness: C++, Python c++   deeuu/loudness phonometry: Python py   phonometry no relation recorded PsySound3: MATLAB m   PsySound3 AARAE: MATLAB m   AARAE Author's own code: PsySound3 to AARAE (Densil Cabrera), for Glasberg & Moore (2002) AMT: MATLAB, Octave m   AMT NumpyLibforPsychoAcoustic: Python py   NumpyLibforPsychoAcoustic Ported or adapted: AMT to NumpyLibforPsychoAcoustic, for Glasberg & Moore (2002) torch_amt: Python py   torch_amt Ported or adapted: AMT to torch_amt, for Moore et al. (2016) and Glasberg & Moore (2002) iso532-3 (tv2018.m): MATLAB m   iso532-3 (tv2018.m) LoudnessModel: Python py   LoudnessModel Ported or adapted: iso532-3 (tv2018.m) to LoudnessModel, for Moore et al. (2018)

Implementations

ProjectEditionFunctionsValidation (as stated)Notes
iso532-3 (tv2018.m)
MATLAB
ISO 532-3:2023
reference MATLAB code referred to in ISO 532-3, per its readme
tv2018not statedno licence Written by the model's authors (per the readme PDF).
AMT
MATLAB Octave
Moore et al. (2016)
binaural
moore2016not statedListed as "MOORE2016 - Binaural loudness model". The header says Josef Schlittenlacher provided the original implementation for the AMT in 2018, from code written for ANSI S3.4-2007 and ISO 532-2:2017.
AMT
MATLAB Octave
Glasberg & Moore (2002)glasberg2002standard or paper dataListed as "GLASBERG2002 - Loudness model for time-variant signals".
AARAE
MATLAB
Glasberg & Moore (2002)
time-varying; one channel, or two channels for binaural loudness
Loudness_MGB2bnot statedSame function as the stationary model; the binaural extension follows Moore & Glasberg (2007).
phonometry
Python
ISO 532-3:2023
since 3.1.0
loudness_moore_glasberg_timestandard or paper datanew
torch_amt
Python
Moore et al. (2016)
binaural
torch_amt.models.Moore2016compared with AMT (its source)new Described as a "1:1 port" of AMT moore2016, with outer and middle ear per ANSI S3.4-2007 (docstring).
NumpyLibforPsychoAcoustic
Python
Glasberg & Moore (2002)model.glasberg2002not statednew no licence Present in the code but not described in the implementation document.
torch_amt
Python
Glasberg & Moore (2002)
short-term and long-term loudness
torch_amt.models.Glasberg2002compared with AMT (its source)new Ported from AMT glasberg2002.
LoudnessModel
Python
Moore et al. (2018)
instantaneous, short-term and long-term loudness; binaural
tvl2018.compute_loudness, tvl2018_jax.compute_loudnessown tests onlydeveloping
deeuu/loudness
C++ Python
Glasberg & Moore (2002)DynamicLoudnessGM2002own tests onlylegacy Per the header, excitation patterns follow ANSI S3.4-2007, and parameter sets use the modified long-term time constants of Moore et al. (2003) and the ANSI S3.4-2007 equation for specific loudness at high levels.
HAW loudness tool
MATLAB
Glasberg & Moore (2002)
specific loudness over time on ERB bands; three temporal models
loud_gui, matlab_loudreference code: LOUDAES and TVL (Glasberg & Moore's programs)legacy
PsySound3
MATLAB
Glasberg & Moore (2002)
time-varying and binaural
@LoudnessMGBnot statedlegacy no licence The same analyser as the stationary entry; its description cites Glasberg & Moore (2002).
Swift & Gee codes
MATLAB
Glasberg & Moore (2002)Glasberg_loudnessnot statedlegacy

Projects in bold and other established projects come first, then newly released, developing and legacy ones. Validation is what each project says about its own testing. The details are below, and the kinds of evidence are explained on the About page. The project map above shows which project was ported or adapted from which.

See also: Moore–Glasberg loudness of stationary sounds (ISO 532-2, ANSI S3.4).

How they were validated

As reported by each project; LISQM has not run the code. Two implementations that agree can still share the same error. Kinds of evidence.

iso532-3 (tv2018.m) · ISO 532-3:2023

not stated

  • The folder "code for tables" has scripts that compute Table 5 (sone to phon) and the values of Annexes B and C (AnnexC.m is headed "Signals numbered as in ISO 532-2 Annex B"); the scripts do not name ISO 532-3.
AMT · Moore et al. (2016)

not stated

  • There is no exp_moore2016 experiment script on the develop branch.
AMT · Glasberg & Moore (2002)

standard or paper data

  • Has the experiment script exp_glasberg2002; AMT's experiment scripts reproduce the results of the publication they are named after.
AARAE · Glasberg & Moore (2002)

not stated

Ported or adapted from PsySound3 (the author's own code).

phonometry new · ISO 532-3:2023

standard or paper data

  • A documented deviation: the Annex B WAV-file cases are not reproduced, and Annex C values are used instead.
torch_amt new · Moore et al. (2016)
torch_amt new · Glasberg & Moore (2002)

compared with AMT (its source)

Ported or adapted from AMT. It was compared with the code it was ported from, which checks the port only.

  • Agreement with AMT is claimed in the documentation, without stored reference data.
LoudnessModel developing · Moore et al. (2018)

own tests only

Ported or adapted from iso532-3 (tv2018.m).

  • Tests run in GitHub Actions compare overall loudness, the first five short-term and long-term values and selected intermediate stages for one input (1 kHz tone, 100 ms, 32 kHz) with hard-coded expected values.
  • The README calls this "a known accurate output", but neither it nor the tests say where the values come from.
deeuu/loudness legacy · Glasberg & Moore (2002)

own tests only

No further details are recorded here.

HAW loudness tool legacy · Glasberg & Moore (2002)

reference code: LOUDAES and TVL (Glasberg & Moore's programs)

  • The thesis compares the total loudness of pure tones (30–100 dB) with LOUDAES, Glasberg & Moore's program for stationary sounds: mostly within 5 %, with larger deviations at low levels near 50 Hz and above 5 kHz (−9.3 % for 5 kHz at 30 dB).
  • For two equal-level tones at 1 and 2 kHz, the deviation from LOUDAES ranges from −4.4 % to +3.8 % with the Hann-window FFT and reaches +6.7 % with the Fourier-time transform.
  • For the stationary part of signals the thesis reports good agreement with TVL, Glasberg & Moore's program for time-varying sounds, without figures.

Not stated by NumpyLibforPsychoAcoustic, PsySound3, and Swift & Gee codes.

Before you compare numbers

Implementations of the same metric can give different numbers without either being wrong. Check these choices first.

What the projects state:

phonometry new
  • Documented deviation: it runs at the native sample rate instead of resampling to 32 kHz.
HAW loudness tool legacy
  • Input must be sampled at 32 kHz; the reference level is entered as the sound pressure level of a full-scale sine.
Swift & Gee codes legacy
  • The code works at 32 kHz; other rates are resampled with the Signal Processing Toolbox's resample.

References

  1. Glasberg, B. R., & Moore, B. C. J. (2002). A model of loudness applicable to time-varying sounds. Journal of the Audio Engineering Society, 50(5), 331–342. https://aes2.org/publications/elibrary-page/?id=11081
  2. Moore, B. C. J., Glasberg, B. R., Varathanathan, A., & Schlittenlacher, J. (2016). A loudness model for time-varying sounds incorporating binaural inhibition. Trends in Hearing, 20, 2331216516682698. https://doi.org/10.1177/2331216516682698
  3. Moore, B. C. J., Jervis, M., Harries, L., & Schlittenlacher, J. (2018). Testing and refining a loudness model for time-varying sounds incorporating binaural inhibition. The Journal of the Acoustical Society of America, 143(3), 1504–1513. https://doi.org/10.1121/1.5027246
  4. ISO 532-3:2023. Acoustics — Methods for calculating loudness — Part 3: Moore-Glasberg-Schlittenlacher method. https://www.iso.org/standard/69856.html
  5. ISO/CD 532-3. Acoustics — Methods for calculating loudness — Part 3: Moore-Glasberg-Schlittenlacher method (2nd edition). https://www.iso.org/standard/90816.html

Metrics, standards and papers, projects, function names and pages.