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 Psychoacoustic annoyance

Psychoacoustic annoyance (Widmann, Zwicker & Fastl, More, Di et al.)

Psychoacoustic annoyance (PA) combines percentile loudness N5 with sharpness, roughness and fluctuation strength (Widmann 1992; Zwicker & Fastl 1999). More (2010) added tonality and Di et al. (2016) adapted the model for tonal noise. None of these is standardised; ISO/AWI 26573, registered in 2026, covers the assessment of annoyance through listening tests, including prediction models.

There is no standard; the reference models are Widmann (1992), Zwicker & Fastl (1999), More (2010), and Di et al. (2016). In development: ISO/AWI 26573. Open-source implementations of it:

Editions and who implements them

DateEditionStatusWhat changedImplemented by
2026-04ISO/AWI 26573in developmentApproved work item (stage 20.00) since 2026.—
2016Di et al. (2016)publishedAdapted for tonal noise.SQAT, refmap-psychoacoustics, pySQAT developing
2010More (2010)publishedAdds tonality.SQAT, refmap-psychoacoustics, pySQAT developing
1999Zwicker & Fastl (1999)publishedBook version of the model.SQAT, phonometry new, pySQAT developing, PsychoacousticParametersMeasurer legacy
1992Widmann (1992)publishedOriginal model.SQAT, refmap-psychoacoustics, PsychoacousticMetrics.jl new

Project map

The project map, with only the lines for psychoacoustic annoyance 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 Psychoacoustic annoyance PsychoacousticParametersMeasurer: Python py   PsychoacousticParametersMeasurer phonometry: Python py   phonometry no relation recorded SQAT: MATLAB m   SQAT pySQAT: Python py   pySQAT Ported or adapted: SQAT to pySQAT, for Di et al. (2016), More (2010), and Zwicker & Fastl (1999) PsychoacousticMetrics.jl: Julia jl   PsychoacousticMetrics.jl Results checked: PsychoacousticMetrics.jl against SQAT, for Widmann (1992) refmap-psychoacoustics: MATLAB, Python m   refmap-psychoacoustics Same contributor: SQAT and refmap-psychoacoustics (Mike Lotinga)

Implementations

ProjectEditionFunctionsValidation (as stated)Notes
SQAT
MATLAB
Di et al. (2016)
since v1.0
PsychoacousticAnnoyance_Di2016, PsychoacousticAnnoyance_Di2016_from_percentilenot stated—
SQAT
MATLAB
More (2010)
since v1.0
PsychoacousticAnnoyance_More2010, PsychoacousticAnnoyance_More2010_from_percentilenot stated—
SQAT
MATLAB
Zwicker & Fastl (1999)
since v1.0
PsychoacousticAnnoyance_Zwicker1999, PsychoacousticAnnoyance_Zwicker1999_from_percentilenot statedSince v2.0 a wrapper of PsychoacousticAnnoyance_Widmann1992, which its header says will be removed in future releases.
SQAT
MATLAB
Widmann (1992)
since v2.0
PsychoacousticAnnoyance_Widmann1992, PsychoacousticAnnoyance_Widmann1992_from_percentilenot statedAdded in June 2025 (PR #32); the README describes it as the same model as the Zwicker & Fastl entry under its original attribution.
refmap-psychoacoustics
MATLAB Python
Di et al. (2016)
Python, from precomputed metric values
diPAnot stated—
refmap-psychoacoustics
MATLAB Python
More (2010)
Python, from precomputed metric values
morePAnot stated—
refmap-psychoacoustics
MATLAB Python
Widmann (1992)acousticPsychAnnoy, widmannPAstandard or paper dataThe MATLAB header names the model Widmann (1992), "commonly misattributed to Zwicker". The Python widmannPA takes precomputed metric values.
phonometry
Python
Zwicker & 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.
PsychoacousticMetrics.jl
Julia
Widmann (1992)
percentile convention (N5, S5, R5, FS5) and a stationary approximation; since 0.4.0
psychoacoustic_annoyance_widmanncompared with SQATnew Uses ZwickerLoudness.jl.
pySQAT
Python
Di et al. (2016)PsychoacousticAnnoyance_Di2016compared with SQAT (its source)developing no licence
pySQAT
Python
More (2010)PsychoacousticAnnoyance_More2010compared with SQAT (its source)developing no licence
pySQAT
Python
Zwicker & Fastl (1999)PsychoacousticAnnoyance_Zwicker1999compared with SQAT (its source)developing no licence
PsychoacousticParametersMeasurer
Python
Zwicker & Fastl (1999)psychoacousticAnnoyancenot statedlegacy no licence The header cites Zwicker & Fastl, "Psychoacoustics: Facts and Models", without naming an edition.

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.

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.

SQAT · Di et al. (2016)
SQAT · More (2010)

not stated

  • No verification routine (README).
refmap-psychoacoustics · Widmann (1992)

standard or paper data

  • A validation script (validation/metrics/mlab/acousticPsychAnnoyValidation.m) compares the MATLAB version with values from Widmann (1992).
phonometry new · 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.
PsychoacousticMetrics.jl new · Widmann (1992)

compared with SQAT

  • Cross-checked against SQAT's PsychoacousticAnnoyance_Widmann1992: an 840-case formula grid, reproduced bit-exactly, and six signal-level cases with SQAT's own N5, S5, R5 and FS5 vendored, so that every deviation is attributed to a component.
  • Checked at the published 1 au anchor (a 1 kHz tone at 40 dB SPL): on the 4 s cross-check case, the percentile convention lands 0.1 % from it and the stationary approximation 0.8 %; on the README's 5 s examples, 0.3 % and 1.4 %.
pySQAT developing · Di et al. (2016)
pySQAT developing · More (2010)
pySQAT developing · Zwicker & Fastl (1999)

compared with SQAT (its source)

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

  • Compared with SQAT v1.3, run in MATLAB, by validation/FINAL_VAL.py; the generated reports are not committed.

Not stated by SQAT for Zwicker & Fastl (1999) and Widmann (1992); refmap-psychoacoustics for Di et al. (2016) and More (2010); PsychoacousticParametersMeasurer.

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:

SQAT
  • Statistics such as N5 take the nearest rank of the sorted time series, without interpolation (get_exceeded_value), and leave out the first time_skip seconds of the signal.
PsychoacousticMetrics.jl new
  • The percentile form needs 48 kHz input.
  • Percentiles are Hyndman–Fan type 7 quantiles (linear interpolation); SQAT takes the nearest rank, which the README says differs by a full order-statistic step on the coarse fluctuation-strength track.

References

  1. Widmann, U. (1992). Ein Modell der psychoakustischen Lästigkeit von Schallen und seine Anwendung in der Praxis der Lärmbeurteilung [Doctoral dissertation, Technische Universität München].
  2. Zwicker, E., & Fastl, H. (1999). Psychoacoustics: Facts and models (2nd ed.). Springer. https://doi.org/10.1007/978-3-662-09562-1
  3. More, S. R. (2010). Aircraft noise characteristics and metrics [Doctoral dissertation, Purdue University]. PARTNER report PARTNER-COE-2011-004. https://docs.lib.purdue.edu/dissertations/AAI3453255
  4. Di, G., Chen, X., Song, K., Zhou, B., & Pei, C. (2016). Improvement of Zwicker's psychoacoustic annoyance model aiming at tonal noises. Applied Acoustics, 105, 164–170. https://doi.org/10.1016/j.apacoust.2015.12.006
  5. ISO/AWI 26573. Acoustics — Procedures for assessment and prediction of noise-induced perceptual annoyance through laboratory-based listening tests. https://www.iso.org/standard/93922.html

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