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

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

Loudness of stationary sounds from the Moore–Glasberg model: the spectrum is turned into an excitation pattern on the ERB-number scale, then into specific loudness, which is summed. ANSI S3.4-2007 standardised the model of Moore, Glasberg & Baer (1997) with later modifications; ISO 532-2:2017 specifies the method for monaural and binaural listening.

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

So far, only newly released projects, not yet seen to be widely used in the community, have released an implementation of it. Check their validation before relying on them.

Earlier editions or related models: AMT (MATLAB, Octave; Chen et al. (2011)), AMT (MATLAB, Octave; Moore, Glasberg & Baer (1997)), AARAE (MATLAB; Moore, Glasberg & Baer (1997); one channel, or two channels for binaural loudness), NumpyLibforPsychoAcoustic (Python; newly released, not yet seen to be widely used; Moore, Glasberg & Baer (1997)), deeuu/loudness (C++, Python; legacy, no commit since 2019-08; Chen et al. (2011)), deeuu/loudness (C++, Python; legacy, no commit since 2019-08; ANSI/ASA S3.4-2007; with the binaural inhibition of Moore & Glasberg (2007) for two ears), Swift & Gee codes (MATLAB; legacy, no commit since 2020-01; ANSI/ASA S3.4-2007), and PsySound3 (MATLAB; legacy, no commit since 2015-03; Moore, Glasberg & Baer (1997)).

Editions and who implements them

DateEditionStatusWhat changedImplemented by
2024-11ISO/CD 532-2in developmentSecond edition at committee-draft stage since November 2024.—
2017-06ISO 532-2:2017current
Under revision; the 2nd edition has been at committee-draft stage since 2024-11-01.
Monaural and binaural loudness of stationary sounds; source code supplied with the standard.phonometry new
2011Chen et al. (2011)publishedFaster excitation-pattern calculation, also for hearing loss (not standardised).AMT, deeuu/loudness legacy
2007ANSI/ASA S3.4-2007currentAmerican standard based on the 1997 model with later modifications.deeuu/loudness legacy, Swift & Gee codes legacy
1997Moore, Glasberg & Baer (1997)publishedModel paper (thresholds, loudness and partial loudness).AMT, AARAE, NumpyLibforPsychoAcoustic new, PsySound3 legacy

Project map

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

Project map for Moore–Glasberg loudness Swift & Gee codes: MATLAB m   Swift & Gee codes 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 Moore, Glasberg & Baer (1997) AMT: MATLAB, Octave m   AMT NumpyLibforPsychoAcoustic: Python py   NumpyLibforPsychoAcoustic Ported or adapted: AMT to NumpyLibforPsychoAcoustic, for Moore, Glasberg & Baer (1997)

Implementations

ProjectEditionFunctionsValidation (as stated)Notes
AMT
MATLAB Octave
Chen et al. (2011)chen2011standard or paper dataListed as "CHEN2011 - Fast excitation pattern estimation".
AMT
MATLAB Octave
Moore, Glasberg & Baer (1997)moore1997standard or paper dataListed as "MOORE1997 - Loudness model for stationary signals" in models/Contents.m.
AARAE
MATLAB
Moore, Glasberg & Baer (1997)
one channel, or two channels for binaural loudness
Loudness_MGB2bnot statedA port and extension of PsySound3's code by Densil Cabrera and Doheon Lee, version 1.02 (27 October 2015). Two-channel input gives binaural loudness after Moore & Glasberg (2007). The audio is resampled to 32 kHz.
phonometry
Python
ISO 532-2:2017
with binaural inhibition; since 3.1.0
loudness_moore_glasberg, loudness_moore_glasberg_from_spectrum, loudness_moore_glasberg_from_third_octavestandard or paper datanew
NumpyLibforPsychoAcoustic
Python
Moore, Glasberg & Baer (1997)model.moore1997, equalSones.getEqualSonesstandard or paper data
also compared with AMT (its source)
new no licence
deeuu/loudness
C++ Python
Chen et al. (2011)StationaryLoudnessCHGM2011own tests onlylegacy
deeuu/loudness
C++ Python
ANSI/ASA S3.4-2007
with the binaural inhibition of Moore & Glasberg (2007) for two ears
StationaryLoudnessANSIS342007own tests onlylegacy
Swift & Gee codes
MATLAB
ANSI/ASA S3.4-2007stationaryLoudnessnot statedlegacy
PsySound3
MATLAB
Moore, Glasberg & Baer (1997)@LoudnessMGBnot statedlegacy no licence Also cites Glasberg & Moore (1990) for the auditory filters. The analyser description says it covers time-varying and binaural loudness, and it also cites Glasberg & Moore (2002) and Moore & Glasberg (2007).

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: Time-varying loudness, Moore–Glasberg–Schlittenlacher (ISO 532-3).

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.

AMT · Chen et al. (2011)

standard or paper data

  • Has the experiment script exp_chen2011; AMT's experiment scripts reproduce the results of the publication they are named after.
AMT · Moore, Glasberg & Baer (1997)

standard or paper data

  • AMT's experiment scripts (exp_…) reproduce published results; this model has exp_moore1997.
AARAE · Moore, Glasberg & Baer (1997)

not stated

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

phonometry new · ISO 532-2:2017

standard or paper data

  • The documentation says it reproduces the Annex B tone and broadband cases to within a percent or two.
NumpyLibforPsychoAcoustic new · Moore, Glasberg & Baer (1997)

standard or paper data also 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.

  • The implementation document says the model is compared with the results shown in the original article (plots of its Fig. 8 and Fig. 12).
  • Numerical error reports (PDF) compare intermediate arrays, such as the outer- and middle-ear filter, with AMT's MATLAB output.
deeuu/loudness legacy · Chen et al. (2011)

own tests only

No further details are recorded here.

deeuu/loudness legacy · ANSI/ASA S3.4-2007

own tests only

  • Unit tests cover each module and model.
  • A validation script writes computed and expected loudness of pure tones to CSV; the expected values are labelled "Table 7" and "Example 2" without naming their source.

Not stated by Swift & Gee codes and PsySound3.

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:

Swift & Gee codes legacy
  • The code works at 32 kHz; other rates are resampled with the Signal Processing Toolbox's resample.

References

  1. Moore, B. C. J., Glasberg, B. R., & Baer, T. (1997). A model for the prediction of thresholds, loudness, and partial loudness. Journal of the Audio Engineering Society, 45(4), 224–240. https://aes2.org/publications/elibrary-page/?id=10272
  2. ANSI/ASA S3.4-2007. Procedure for the Computation of Loudness of Steady Sounds. https://webstore.ansi.org/standards/asa/ANSIASAS32007R2020
  3. Chen, Z., Hu, G., Glasberg, B. R., & Moore, B. C. J. (2011). A new method of calculating auditory excitation patterns and loudness for steady sounds. Hearing Research, 282(1–2), 204–215. https://doi.org/10.1016/j.heares.2011.08.001
  4. ISO 532-2:2017. Acoustics — Methods for calculating loudness — Part 2: Moore-Glasberg method. https://www.iso.org/standard/63078.html
  5. ISO/CD 532-2. Acoustics — Methods for calculating loudness — Part 2: Moore-Glasberg method (2nd edition). https://www.iso.org/standard/90812.html

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