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

PsychoacousticMetrics.jl

Newly released project. First registered in July 2026. Not yet seen to be widely used in the community. Check its validation before relying on it.

Julia package for the Zwicker family of sound-quality metrics on top of ZwickerLoudness.jl: DIN 45692:2009 sharpness (with Aures, von Bismarck and Fastl weightings), Daniel & Weber roughness, Osses et al. (2016) fluctuation strength and Widmann (1992) psychoacoustic annoyance.

Repositoryhttps://github.com/slink/PsychoacousticMetrics.jl
LanguageJulia
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
Test data, the roughness implementation and several weighting tables are derived from MoSQITo (Apache-2.0); fluctuation-strength tables and annoyance constants reference SQAT (CC BY-NC 4.0) as factual data, without reusing its code (README, test/data/NOTICE).
PackageJulia General PsychoacousticMetrics
Installusing Pkg; Pkg.add("PsychoacousticMetrics")
Latest releasev0.5.0 (2026-09)
Last commit2026-09-03 active
GitHub stars1
Maintainersslink
AI assistancenot stated
How to citeThe README links a Zenodo DOI for the latest version. Name the version or commit you used.
Entry checked8 October 2026

What it implements

MetricEditionFunctionsValidation (as stated)Notes
SharpnessDIN 45692:2009
weightings: DIN 45692 (default), Aures, von Bismarck, Fastl; from a ZwickerLoudness.jl result; since 0.2.0
sharpnessstandard or paper data
also compared with MoSQITo
new Uses ZwickerLoudness.jl.
Roughness (Daniel & Weber)Daniel & Weber (1997)
since 0.2.0
roughness_dwstandard or paper data
also compared with MoSQITo (its source)
new
Fluctuation strength (Osses et al.)Osses et al. (2016)
since 0.3.0
fluctuation_strength_ossesreference code: SQATnew
Psychoacoustic annoyanceWidmann (1992)
percentile convention (N5, S5, R5, FS5) and a stationary approximation; since 0.4.0
psychoacoustic_annoyance_widmanncompared with SQATnew Uses ZwickerLoudness.jl.

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.

Sharpness · DIN 45692:2009

standard or paper data also compared with MoSQITo

  • Tested against all 41 reference signals of DIN 45692:2009 chapter 6 (21 narrowband, 20 broadband) within the standard's tolerance of ±max(5 %, 0.05 acum).
  • Cross-checked against MoSQITo for all four weightings.
  • Total loudness N is computed as the Riemann sum over the 240-bin specific loudness (0.1 * sum), not taken from ZwickerResult.loudness (see the sharpness docstring).
Roughness (Daniel & Weber) · Daniel & Weber (1997)

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

  • Tested against the Zwicker & Fastl reference curves on MoSQITo's validation grid (7 carrier × 11 modulation frequencies) within ±0.1 asper, and cross-checked against MoSQITo's roughness_dw on identical signals.
  • Five points at a 2 kHz carrier miss the ±0.1 asper gate. MoSQITo misses them by the same amount (and overshoots Daniel & Weber's own curve there by 15–31 %), so these five are checked for agreement with MoSQITo to 5e-3 asper instead.
  • Against the Daniel & Weber curves themselves, 63 of the 77 grid points are within 30 % of the reference (reported, not gated).
Fluctuation strength (Osses et al.) · Osses et al. (2016)

reference code: SQAT

  • Cross-checked against SQAT's FluctuationStrength_Osses2016, run under Octave, on identical signals: 26 cases, including all 18 points of Fastl & Zwicker's AM/FM reference grid (Osses 2018 thesis, Table B.1), each reproduced to a relative tolerance of 1e-6 (measured 3e-9).
  • The grid stimuli are synthesised following the Osses et al. (2016) validation files that SQAT's own validation reads; the tests also check that each synthetic stimulus gives the value SQAT gives on the real file (tones to 5e-3, noise to 25 % across random draws).
  • Against the published curves, 11 of the 18 points are within 30 %, and exactly those 11 are gated. The other seven are misses of the reference model itself (FM tones with a modulation frequency above 4 Hz overestimated three- to fourfold, thesis §B.4.1; the shoulder and tail points of AM tones and noise), which SQAT's own validation figures also show.
Psychoacoustic annoyance · 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 %.

Before you compare numbers

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

Fluctuation strength (Osses et al.) (Osses et al. (2016))
  • Needs audio at 44.1 or 48 kHz (an error otherwise); SQAT resamples other rates itself.
Psychoacoustic annoyance (Widmann (1992))
  • 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.

Notes

Sources

  1. https://github.com/slink/PsychoacousticMetrics.jl
  2. https://github.com/slink/PsychoacousticMetrics.jl/blob/main/README.md#conformance
  3. https://github.com/slink/PsychoacousticMetrics.jl/blob/main/test/data/NOTICE
  4. https://github.com/slink/PsychoacousticMetrics.jl/blob/main/Project.toml
  5. https://github.com/JuliaRegistries/General/tree/master/P/PsychoacousticMetrics

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