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 Related quantities

Equal-loudness-level contours (ISO 226)

Normal equal-loudness-level contours for pure tones in free-field listening. ISO 226:2023 replaced ISO 226:2003; ECMA-418-2:2025 still refers to the 2003 edition.

The current edition is ISO 226:2023. 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: MoSQITo (Python; ISO 226:2003), PSYCHO (Pure Data, C; ISO 226:2003), PyDSM (Python; ISO 226:2003; tabled and interpolated contours; optional 20 kHz extension), Mosqito.NET (C#; newly released, not yet seen to be widely used; ISO 226:2003), and IoSR Matlab Toolbox (MATLAB; legacy, no commit since 2017-08; ISO 226:2003).

Editions and who implements them

DateEditionStatusWhat changedImplemented by
2023-03ISO 226:2023currentThird edition.phonometry new
2003-08ISO 226:2003withdrawnSecond edition; withdrawn in 2023.MoSQITo, PSYCHO, PyDSM, Mosqito.NET new, IoSR Matlab Toolbox legacy

Project map

The project map, with only the lines for equal-loudness contours 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 Equal-loudness contours IoSR Matlab Toolbox: MATLAB m   IoSR Matlab Toolbox phonometry: Python py   phonometry PyDSM: Python py   PyDSM PSYCHO: Pure Data, C pd   PSYCHO no relation recorded MoSQITo: Python py   MoSQITo Mosqito.NET: C# c#   Mosqito.NET Ported or adapted: MoSQITo to Mosqito.NET, for ISO 226:2003

Implementations

ProjectEditionFunctionsValidation (as stated)Notes
MoSQITo
Python
ISO 226:2003
since 0.3.5
equal_loudness_contoursnot statedThe docstring gives no edition; it is based on Jeff Tackett's MATLAB code for ISO 226:2003.
PSYCHO
Pure Data C
ISO 226:2003[iso226]not statedThe help patch names ISO 226:2003. Related objects convert between phon and dB ([phon2db], [db2phon]) and between phon and sone ([phon2sone], [sone2phon]).
PyDSM
Python
ISO 226:2003
tabled and interpolated contours; optional 20 kHz extension
pydsm.iso226not stated—
phonometry
Python
ISO 226:2023
since 3.1.0
equal_loudness_contour, equal_loudness_contours, loudness_level, hearing_thresholdstandard or paper datanew
Mosqito.NET
C#
ISO 226:2003Sq.EqualLoudnessContoursnot statednew Code comments say ISO 226:1987, but the tables are ported from MoSQITo, whose code follows Jeff Tackett's ISO 226:2003 implementation.
IoSR Matlab Toolbox
MATLAB
ISO 226:2003iosr.auditory.iso226not statedlegacy

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.

phonometry new · 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.

Not stated by MoSQITo, PSYCHO, PyDSM, Mosqito.NET, and IoSR Matlab Toolbox.

References

  1. ISO 226:2003. Acoustics — Normal equal-loudness-level contours. https://www.iso.org/standard/34222.html
  2. ISO 226:2023. Acoustics — Normal equal-loudness-level contours. https://www.iso.org/standard/83117.html

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