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

Projects Newly released projects

phonometry

Newly released project. Its psychoacoustics module was first released in July 2026 (version 3.1.0). Not yet seen to be widely used in the community. Check its validation before relying on it.

Python acoustics library (formerly PyOctaveBand) that added a large psychoacoustics module in July 2026: ISO 532-1, -2 and -3 loudness, ECMA-418-2:2025 loudness, tonality, roughness and fluctuation strength (monaural), DIN 45692 sharpness, Osses fluctuation strength, ECMA-418-1:2024 TNR/PR, tonal audibility, impulsiveness, EPNL and ISO 226:2023. Only NumPy and SciPy are required.

Repositoryhttps://github.com/jmrplens/phonometry
Documentationhttps://jmrplens.github.io/phonometry/
LanguagePython
KindLibrary/Toolbox
Functions to call from your own code: a Python package, a MATLAB toolbox, or a C, C++, C#, Rust or Julia library.
Groupnewly released First released less than about a year ago, and not yet seen to be widely used in the community.
LicenceMIT
PackagePyPI phonometry
Installpip install phonometry
Latest releasev3.3.0 (2026-07); pre-release 4.0.0rc1 (2026-09)
Last commit2026-10-14 active
GitHub stars125
MaintainersJosé M. Requena Plens
AI assistancedisclosed (The draft paper (paper/paper.md) has an AI usage disclosure: language models drafted code, tests and documentation from the author's clause-by-clause readings, under the author's direction and review. 34 commits from July 2026 contain Claude Code session links.)
How to citeSoftware DOI: 10.5281/zenodo.21215280. The repository has a CITATION.cff file. Name the version or commit you used.
Entry checked8 October 2026

What it implements

MetricEditionFunctionsValidation (as stated)Notes
Zwicker loudnessISO 532-1:2017
stationary and time-varying; since 3.1.0
loudness_zwicker, loudness_zwicker_from_spectrumstandard or paper datanew
Moore–Glasberg loudnessISO 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
Time-varying loudness (Moore–Glasberg–Schlittenlacher)ISO 532-3:2023
since 3.1.0
loudness_moore_glasberg_timestandard or paper datanew
Sottek Hearing Model loudnessECMA-418-2:2025 (4th ed.)
mono only; since 3.1.0
loudness_ecmastandard or paper data
(calibration signal only; outside the allowed adjustment)
new
SharpnessDIN 45692:2009
also the informative Aures and von Bismarck variants; since 3.1.0
sharpness_din, sharpness_din_from_specificstandard or paper datanew
Sottek Hearing Model roughnessECMA-418-2:2025 (4th ed.)
mono only; no entropy weighting; since 3.1.0
roughness_ecmastandard or paper data
(calibration signal only)
new
Fluctuation strength (Osses et al.)Osses et al. (2016)
since 3.1.0
fluctuation_strengthstandard or paper data
also compared with SQAT
new
Fluctuation strength (Osses et al.)Fastl & Zwicker (2007)
closed-form expression for amplitude-modulated noise; since 3.1.0
fluctuation_strength_am_noisestandard or paper datanew
Sottek Hearing Model fluctuation strengthECMA-418-2:2025 (4th ed.)
mono only; since 3.3.0
fluctuation_strength_ecmastandard or paper data
(calibration signal only)
new Misprints found in Clause 9 are listed in the project's errata.
Sottek Hearing Model tonalityECMA-418-2:2025 (4th ed.)
mono only; since 3.1.0
tonality_ecmastandard or paper data
(calibration signal only)
new
Tone-to-noise ratio and prominence ratioECMA-418-1:2024 (3rd ed.)
since 3.1.0
tone_to_noise_ratio, prominence_ratio, assess_tonesstandard or paper data
(formula examples; no published TNR or PR value)
new The "prominent" flag applies the numeric criterion only.
Audibility of tones in noise (ISO/TS 20065)ISO/PAS 20065:2016
since 3.1.0
tone_audibility, analyze_spectrum, audibility_from_levels, mean_audibility, audibility_uncertaintystandard or paper data
also compared with DIN 45681 Annex J reference program
new Follows the 2016 PAS, not the 2022 TS. Does not apply the A-weighting required by clause 5.3.2. DIN 45681 itself is not implemented.
Tonal audibility (ISO 1996-2)ISO 1996-2:2017
Annex K survey method and Table J.1; in the phonometry.environment namespace
—not statednew
Tonal audibility (ISO 1996-2)ISO 1996-2:2007
Annex C; in the phonometry.environment namespace
—not statednew
Tonal audibility of wind turbines (IEC 61400-11)IEC 61400-11:2012+AMD1:2018wind_turbine_tonalitynot statednew
Impulse prominenceISO/PAS 1996-3:2022
in the phonometry.environment namespace
—not statednew
Impulse prominenceNT ACOU 112
in the phonometry.environment namespace
—not statednew
Psychoacoustic annoyanceZwicker & Fastl (1999)
since 3.1.0
psychoacoustic_annoyance, psychoacoustic_annoyance_from_signalown tests onlynew Follows Eqs. 16.2–16.4 of Fastl & Zwicker (2007), the textbook form of Widmann's model.
Equal-loudness contoursISO 226:2023
since 3.1.0
equal_loudness_contour, equal_loudness_contours, loudness_level, hearing_thresholdstandard or paper datanew
Perceived noise level and EPNLICAO Annex 16, Vol. I
PNL, PNLT and EPNL, in the phonometry.aircraft namespace
—standard or paper datanew

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

standard or paper data

Ported or adapted from ISO 532-1 Annex A reference program.

  • Annex B test signals are used in the tests.
Moore–Glasberg loudness · 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.
Time-varying loudness (Moore–Glasberg–Schlittenlacher) · 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.
Sottek Hearing Model loudness · ECMA-418-2:2025 (4th ed.)

standard or paper data (calibration signal only; outside the allowed adjustment)

  • Checked at the calibration signal only, where it gives 0.9843 sone_HMS (−1.55 %).
Sharpness · DIN 45692:2009

standard or paper data

  • Checked with the DIN 45692 reference signal and Tables A.2 and A.3.
Sottek Hearing Model roughness · ECMA-418-2:2025 (4th ed.)
Sottek Hearing Model tonality · ECMA-418-2:2025 (4th ed.)

standard or paper data (calibration signal only)

  • Checked at the calibration signal only.
Fluctuation strength (Osses et al.) · Osses et al. (2016)

standard or paper data also compared with SQAT

  • Compared with the literature values in Table 1 of Osses et al. (2016): for amplitude-modulated 70 dB tones the Pearson correlation is about 0.98, within a factor of about 2.1 at every point. SQAT's FluctuationStrength_Osses2016 was consulted as a numeric reference for the shape of the sweep.
  • Validated for amplitude modulation only; a steady 1 kHz tone reads about 0.09 vacil.
Fluctuation strength (Osses et al.) · Fastl & Zwicker (2007)

standard or paper data

  • A conformance row checks Eq. (10.2) of Fastl & Zwicker for amplitude-modulated broadband noise.
Sottek Hearing Model fluctuation strength · ECMA-418-2:2025 (4th ed.)

standard or paper data (calibration signal only)

  • Checked at the calibration signal only (0.993 vacil_HMS).
Tone-to-noise ratio and prominence ratio · ECMA-418-1:2024 (3rd ed.)

standard or paper data (formula examples; no published TNR or PR value)

  • Tests check worked examples printed in ECMA-418-1:2024: the critical band at 500 Hz and 1 kHz (Clause 10, Formula 2), its band edges at 1 kHz (Clause 12.2) and the proximity spacing at 150 and 850 Hz (Clause 11.6, Formula 14).
  • TNR and PR of a 1 kHz tone in white noise are compared with the values expected from the standard's formulas (within 0.4 dB for TNR and 0.1 dB for PR); no TNR or PR value published in the standard is checked.
Audibility of tones in noise (ISO/TS 20065) · ISO/PAS 20065:2016

standard or paper data also compared with DIN 45681 Annex J reference program

  • Reproduces the Annex E worked example.
  • Parts are checked against DIN 45681:2005 and its Annex J reference program.
Psychoacoustic annoyance · Zwicker & Fastl (1999)

own tests only

  • Tests compare one set of inputs (N5 = 30 sone, S = 2.0 acum, F = 0.5 vacil, R = 0.3 asper) with the value worked out by hand from Eqs. 16.2–16.4 (37.0478, within 0.001) and check the terms of the formula; no published example is used.
Equal-loudness contours · ISO 226:2023

standard or paper data

  • Tests compare 17 points of Table B.1 (20 to 90 phon, 20 Hz to 12.5 kHz) and 6 points of Table B.2 with the computed contours and loudness levels, within 0.05 dB or phon, and the hearing threshold with Table 1.
Perceived noise level and EPNL · ICAO Annex 16, Vol. I

standard or paper data

  • Tested with the EPNL example of ICAO Doc 9501 (Environmental Technical Manual).

Not stated for Tonal audibility (ISO 1996-2) · ISO 1996-2:2017; Tonal audibility (ISO 1996-2) · ISO 1996-2:2007; Tonal audibility of wind turbines (IEC 61400-11) · IEC 61400-11:2012+AMD1:2018; Impulse prominence · ISO/PAS 1996-3:2022; Impulse prominence · NT ACOU 112.

Before you compare numbers

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

Time-varying loudness (Moore–Glasberg–Schlittenlacher) (ISO 532-3:2023)
  • Documented deviation: it runs at the native sample rate instead of resampling to 32 kHz.

Notes

Before you rely on it

Sources

  1. https://github.com/jmrplens/phonometry/blob/main/README.md
  2. https://github.com/jmrplens/phonometry/blob/main/CHANGELOG.md
  3. https://github.com/jmrplens/phonometry/blob/main/docs/CONFORMANCE.md
  4. https://github.com/jmrplens/phonometry/blob/main/docs/ERRATA.md
  5. https://github.com/jmrplens/phonometry/blob/main/tests/psychoacoustics/quality/test_tonality.py
  6. https://github.com/jmrplens/phonometry/blob/main/tests/psychoacoustics/quality/test_annoyance.py
  7. https://github.com/jmrplens/phonometry/blob/main/tests/psychoacoustics/loudness/test_contours.py
  8. https://github.com/jmrplens/phonometry/blob/main/CITATION.cff
  9. https://github.com/jmrplens/phonometry/blob/main/paper/paper.md
  10. https://jmrplens.github.io/phonometry/
  11. https://pypi.org/project/phonometry/
  12. https://github.com/jmrplens/phonometry/blob/main/src/phonometry/psychoacoustics/quality/fluctuation_strength.py

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