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 Fluctuation strength

Fluctuation strength from the Sottek Hearing Model (ECMA-418-2)

Fluctuation strength from the Sottek Hearing Model, new in the 4th edition of ECMA-418-2 (June 2025, Clause 9). It uses high-resolution spectral analysis for modulation rates of about 0.25 to 20 Hz.

The current edition is ECMA-418-2:2025 (4th ed.). 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.

Editions and who implements them

DateEditionStatusWhat changedImplemented by
2025-06ECMA-418-2:2025 (4th ed.)currentNew Clause 9.SQAT PR, sottek-hearing-model unreleased, ecma418-torch new, phonometry new

Project map

The project map, with only the lines for Sottek Hearing Model fluctuation strength between the projects listed for it.

Project map for Sottek Hearing Model fluctuation strength phonometry: Python py   phonometry no relation recorded sottek-hearing-model: Python py   sottek-hearing-model ecma418-torch: Python py   ecma418-torch Results checked: ecma418-torch against sottek-hearing-model, for ECMA-418-2:2025 (4th ed.) SQAT: MATLAB m   SQAT Same contributor: SQAT and sottek-hearing-model (Mike Lotinga)

Implementations

ProjectEditionFunctionsValidation (as stated)Notes
SQAT
MATLAB
ECMA-418-2:2025 (4th ed.)FluctuationStrength_ECMA418_2not statedPR Open pull request since 2026-09-17.
sottek-hearing-model
Python
ECMA-418-2:2025 (4th ed.)
needs at least 1.37 s of signal; binaural option
shm_fluctuation_ecmacompared with refmap-psychoacoustics (its source) and ArtemiS SUITE (HEAD acoustics)unreleased Merged on 2026-09-18. Five departures from the printed text are documented (four equations and one interpretation of Section 9.1.8).
ecma418-torch
Python
ECMA-418-2:2025 (4th ed.)
with binaural combination
fluctuation_strengthcompared with sottek-hearing-model and ArtemiS SUITE (HEAD acoustics)new
phonometry
Python
ECMA-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.

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.

See also: Fluctuation strength, Osses et al. model and Fastl & Zwicker formula, Loudness from the Sottek Hearing Model (ECMA-418-2).

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.

sottek-hearing-model · ECMA-418-2:2025 (4th ed.)

compared with refmap-psychoacoustics (its source) and ArtemiS SUITE (HEAD acoustics)

Ported or adapted from refmap-psychoacoustics (the author's own code). It was compared with the code it was ported from, which checks the port only.

  • A draft report (18 September 2026) compares it with acousticSHMFluctuation.m, the MATLAB code it was translated from: equal to floating-point precision on the synthetic signals and on one channel of each recording, with a small difference in a short time window on the other channel.
  • Against HEAD acoustics ArtemiS SUITE v17: 0.994 against 1.003 vacil_HMS for the calibration signal (the standard's target is 1.0), −8 % to +12 % for the overall values of three binaural recordings, and correlations of 0.91 to 0.998 for the time-dependent values.

Checked by the maintainer of LISQM: In personal use, Zhenxian LI found its results in very good agreement with those of HEAD acoustics ArtemiS SUITE. This is a personal check, not a published comparison.

ecma418-torch new · ECMA-418-2:2025 (4th ed.)

compared with sottek-hearing-model and ArtemiS SUITE (HEAD acoustics)

  • The 1 kHz tone amplitude-modulated at 4 Hz (60 dB SPL) gives 0.99579 vacil for 10 s (the test allows 1e-2 around 1), and the average specific fluctuation strength in band 17 is 0.38876, against 0.395 from ArtemiS v17 as quoted in the tests of sottek-hearing-model.
  • Against sottek-hearing-model run as an oracle on two signals: with that package's three choices, the time-dependent values differ by at most 6.3e-5 vacil and the single values by at most 6.3e-5; with the defaults, which follow the printed text, the single values differ by 0.2 % and 0.5 %.
phonometry new · ECMA-418-2:2025 (4th ed.)

standard or paper data (calibration signal only)

  • Checked at the calibration signal only (0.993 vacil_HMS).

Not stated by SQAT.

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:

sottek-hearing-model
  • Input at other sample rates is resampled to 48 kHz.
  • Overall roughness and fluctuation strength are 90th percentiles computed with NumPy (linear interpolation, Hyndman–Fan type 7). The MATLAB code it was translated from uses prctile, which interpolates differently, so single values can differ slightly from RefMap and SQAT.
ecma418-torch new
  • Input at other sample rates is resampled to 48 kHz (band-limited, by the Fourier method).
  • The single value is the 90th percentile from torch.quantile (linear interpolation) of the time-dependent values, after the first 16 (roughness) or 36 (fluctuation strength) values at 50 Hz are left out.
  • The outer and middle ear filter uses the coefficients as printed in Table 1 of the standard, where sottek-hearing-model uses unrounded ones.
  • By default it follows the printed text in three places where sottek-hearing-model decides otherwise: the step limit of Formula (152) (2e-4 Hz, against 0.2), no fundamental required for an assumed order in Section 9.1.8, and machine epsilon for ε0 (against 1e-12). The options newton_cap and require_fundamental give sottek-hearing-model's choices.
  • Formula (127) is computed with π instead of the printed 2π in the phase term, and Formula (144) without the printed "− 1", which the code says would shift every rate down one bin.

References

  1. ECMA-418-2:2025 (4th ed.). Psychoacoustic metrics for ITT equipment — Part 2 (methods for describing human perception based on the Sottek Hearing Model). https://ecma-international.org/wp-content/uploads/ECMA-418-2_4th_edition_june_2025.pdf

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