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

Project map

Each line joins two projects: code ported or adapted from another project, the author's own code moved between projects, a project that uses another one at run time, results checked against another project, or a shared contributor. The lines come from the implementation rows on the project pages.

Arrows point from the source to the project that uses it, so sources stand on the left. A check points the other way: from the project to the one it checked its results against. Click a box to open the project, or hover over a line to see the metrics behind it.

Scroll the picture sideways, or read the same relations in words below.

Project map: the same relations are listed in words below the picture. Zhen-Ni/epnl: Rust rs   Zhen-Ni/epnl Swift & Gee codes: MATLAB m   Swift & Gee codes SUAVE: Python py   SUAVE PsychoacousticParametersMeasurer: Python py   PsychoacousticParametersMeasurer IoSR Matlab Toolbox: MATLAB m   IoSR Matlab Toolbox HAW loudness tool: MATLAB m   HAW loudness tool PyDSM: Python py   PyDSM PSYCHO: Pure Data, C pd   PSYCHO no relation recorded AMT: MATLAB, Octave m   AMT NumpyLibforPsychoAcoustic: Python py   NumpyLibforPsychoAcoustic Ported or adapted: AMT to NumpyLibforPsychoAcoustic, for Moore–Glasberg loudness and time-varying loudness (Moore–Glasberg–Schlittenlacher) torch_amt: Python py   torch_amt Ported or adapted: AMT to torch_amt, for time-varying loudness (Moore–Glasberg–Schlittenlacher) iso532-3 (tv2018.m): MATLAB m   iso532-3 (tv2018.m) LoudnessModel: Python py   LoudnessModel Ported or adapted: iso532-3 (tv2018.m) to LoudnessModel, for time-varying loudness (Moore–Glasberg–Schlittenlacher) AARAE: MATLAB m   AARAE SQAT: MATLAB m   SQAT Ported or adapted: AARAE to SQAT, for Zwicker loudness and roughness (Daniel & Weber) sottek-hearing-model: Python py   sottek-hearing-model Same contributor: SQAT and sottek-hearing-model (Mike Lotinga) MetaSona: C, Python c   MetaSona Ported or adapted: SQAT to MetaSona, for Zwicker loudness, Sottek Hearing Model loudness, roughness (Daniel & Weber), Sottek Hearing Model roughness, tonality (Aures), and Sottek Hearing Model tonality phonometry: Python py   phonometry Results checked: phonometry against SQAT, for fluctuation strength (Osses et al.) PsychoacousticMetrics.jl: Julia jl   PsychoacousticMetrics.jl Results checked: PsychoacousticMetrics.jl against SQAT, for fluctuation strength (Osses et al.) and psychoacoustic annoyance pySQAT: Python py   pySQAT Ported or adapted: SQAT to pySQAT, for Zwicker loudness; sharpness; roughness (Daniel & Weber); fluctuation strength (Osses et al.); tonality (Aures); psychoacoustic annoyance; perceived noise level and EPNL rota-order: Python py   rota-order Used at run time: rota-order calls SQAT for Zwicker loudness, sharpness, roughness (Daniel & Weber), and Sottek Hearing Model tonality refmap-psychoacoustics: MATLAB, Python m   refmap-psychoacoustics Author's own code: refmap-psychoacoustics to SQAT (Mike Lotinga), for Sottek Hearing Model loudness, Sottek Hearing Model roughness, and Sottek Hearing Model tonality Author's own code: refmap-psychoacoustics to sottek-hearing-model (Mike Lotinga), for Sottek Hearing Model loudness, Sottek Hearing Model roughness, Sottek Hearing Model fluctuation strength, and Sottek Hearing Model tonality fluctuation-strength-TUe: MATLAB m   fluctuation-strength-TUe Author's own code: fluctuation-strength-TUe to SQAT (Alejandro Osses), for fluctuation strength (Osses et al.) BASIC program of DIN 45631 (Zwicker et al., 1991), published with the standard or paper BASIC program (DIN 45631, 1991) MoSQITo: Python py   MoSQITo Ported or adapted: BASIC program of DIN 45631 (Zwicker et al., 1991) to MoSQITo, for Zwicker loudness ITA-Toolbox: MATLAB m   ITA-Toolbox Ported or adapted: BASIC program of DIN 45631 (Zwicker et al., 1991) to ITA-Toolbox, for Zwicker loudness deeuu/loudness: C++, Python c++   deeuu/loudness Ported or adapted: BASIC program of DIN 45631 (Zwicker et al., 1991) to deeuu/loudness, for Zwicker loudness zwickerloudness: C c   zwickerloudness Ported or adapted: BASIC program of DIN 45631 (Zwicker et al., 1991) to zwickerloudness, for Zwicker loudness Ported or adapted: MoSQITo to MetaSona, for Zwicker loudness and roughness (Daniel & Weber) Kirin Hypha: Rust rs   Kirin Hypha Ported or adapted: MoSQITo to Kirin Hypha, for Zwicker loudness and sharpness Mosqito.NET: C# c#   Mosqito.NET Ported or adapted: MoSQITo to Mosqito.NET, for Zwicker loudness; Sottek Hearing Model loudness; sharpness; roughness (Daniel & Weber); Sottek Hearing Model roughness; tone-to-noise ratio and prominence ratio; equal-loudness contours Ported or adapted: MoSQITo to PsychoacousticMetrics.jl, for roughness (Daniel & Weber) Results checked: PsychoacousticMetrics.jl against MoSQITo, for sharpness ZwickerLoudness.jl: Julia jl   ZwickerLoudness.jl Ported or adapted: MoSQITo to ZwickerLoudness.jl, for Zwicker loudness MoSQITo-FDP: Python py   MoSQITo-FDP Author's own code: MoSQITo to MoSQITo-FDP (Daniel Jiménez-Caminero Costa), for Sottek Hearing Model loudness Ported or adapted: MoSQITo to MoSQITo-FDP, for tone-to-noise ratio and prominence ratio ZwickerLoudnessAudio.jl: Julia jl   ZwickerLoudnessAudio.jl Ported or adapted: MoSQITo to ZwickerLoudnessAudio.jl, for Zwicker loudness Used at run time: rota-order calls MoSQITo for Zwicker loudness, sharpness, and roughness (Daniel & Weber) Results checked: rota-order against MoSQITo, for tone-to-noise ratio and prominence ratio PsychoBox: Python py   PsychoBox Used at run time: PsychoBox calls MoSQITo for Zwicker loudness, Sottek Hearing Model loudness, sharpness, roughness (Daniel & Weber), and Sottek Hearing Model roughness Soundscapy: Python py   Soundscapy Used at run time: Soundscapy calls MoSQITo for Zwicker loudness, sharpness, and roughness (Daniel & Weber) iso532-1-rs: Rust, C, Python rs   iso532-1-rs Results checked: iso532-1-rs against MoSQITo, for Zwicker loudness SoundPalette: C++ c++   SoundPalette Results checked: SoundPalette against MoSQITo, for Zwicker loudness, sharpness, and roughness (Daniel & Weber) Used at run time: pySQAT calls sottek-hearing-model for Sottek Hearing Model loudness, Sottek Hearing Model roughness, and Sottek Hearing Model tonality Used at run time: rota-order calls sottek-hearing-model for Sottek Hearing Model loudness, Sottek Hearing Model roughness, and Sottek Hearing Model tonality ecma418-torch: Python py   ecma418-torch Results checked: ecma418-torch against sottek-hearing-model, for Sottek Hearing Model roughness and Sottek Hearing Model fluctuation strength python-acoustics: Python py   python-acoustics acoustic-toolbox: Python py   acoustic-toolbox Ported or adapted: python-acoustics to acoustic-toolbox, for tonal audibility (ISO 1996-2) Same contributor: acoustic-toolbox and Soundscapy (Andrew Mitchell) ISO 532-1 Annex A reference program, published with the standard or paper ISO 532-1 Annex A program Ported or adapted: ISO 532-1 Annex A reference program to AARAE, for Zwicker loudness Ported or adapted: ISO 532-1 Annex A reference program to phonometry, for Zwicker loudness PsySound3: MATLAB m   PsySound3 Author's own code: PsySound3 to AARAE (Densil Cabrera), for Zwicker loudness, Moore–Glasberg loudness, time-varying loudness (Moore–Glasberg–Schlittenlacher), and roughness (Daniel & Weber) Same contributor: PsychoacousticMetrics.jl and ZwickerLoudnessAudio.jl (slink) Used at run time: PsychoacousticMetrics.jl needs ZwickerLoudness.jl for sharpness and psychoacoustic annoyance Same contributor: PsychoacousticMetrics.jl and ZwickerLoudness.jl (slink) Used at run time: ZwickerLoudnessAudio.jl calls ZwickerLoudness.jl for Zwicker loudness Same contributor: ZwickerLoudness.jl and ZwickerLoudnessAudio.jl (slink)

Each metric page has the same map with only the lines for that metric, for example Zwicker loudness.

Kinds of line

Ported or adapted from another project
The project's code for a metric was ported from the source (translated into another language) or adapted from it (reused with changes), or the whole project continues the source. A grey box is a program published with a standard or a paper.
The author's own code
The code was written by someone who also maintains the project that ported or adapted it: a contribution, a move or a translation within the same team, not a port by someone else.
Used at run time
The project calls the source to compute the metric, or needs its results as input.
Results checked against
The arrow points from the project to the one it checked its results against. Comparisons with the code a project was ported or adapted from, with a port of its own code or with another port of the same code are not drawn, because they only show that two versions of the same code agree.
Same contributor
Someone has worked on both projects, as a maintainer or with code of their own. Not drawn beside a line of the author's own code, which says the same.

In words

Ported or adapted from another project

The author's own code

Used at run time

Results checked against another project

Same contributor

On the map without a line, as no relation is recorded for them: PSYCHO, PyDSM, HAW loudness tool, IoSR Matlab Toolbox, PsychoacousticParametersMeasurer, SUAVE, Swift & Gee codes, and Zhen-Ni/epnl.

Left out, as their code could not be opened: PsyTools.

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