About LISQM
Are you looking for an open-source way to calculate psychoacoustic metrics such as loudness, sharpness, roughness and tonality? One you can trust, and that fits your coding environment, whether Python, MATLAB, C/C++, Rust, Julia or another language? LISQM lists the open-source implementations of each metric under the standard it follows, together with the validation each one reports.
LISQM stands for List of Implementations of Sound Quality Metrics. LISQM does not compute anything itself; it lists the implementations and compares what they state. The listed implementations publish their source code, most under an open-source licence; a few have no licence file, or a source-available or non-commercial licence: they are tagged on the metric pages and the Languages page, and each project's page gives the details. The data of LISQM is open, but many of the standards the implementations follow are not free.
Why I built LISQM
I built LISQM out of my own frustration. I work in Python and used MoSQITo. Unfortunately, it hasn't been updated since 2024, and some metrics I needed, like Aures tonality, were missing. I ended up calling the SQAT toolbox from Python through the MATLAB Engine API. Only much later did I come across pySQAT, a newer Python port of SQAT.
So I started a living list of open-source implementations of psychoacoustic and sound quality metrics, hoping to save others with the same need some time.
LISQM is built from each project's own documentation and the related publications, and is renewed monthly. The judgements on the site currently rest mainly on my own experience as a user, so I would really value the community's input. Whether you use these tools, contribute to them, maintain a project, or want to share a new one you've built, I'd love to hear from you. Corrections, missing projects and suggestions are all welcome. I hope LISQM becomes a useful place for all of us.
— Zhenxian LI
What is included
The list includes open-source code that computes a psychoacoustic metric and says which model or standard edition it follows. It covers loudness, sharpness, roughness, fluctuation strength, tonality, impulsiveness, psychoacoustic annoyance, and related quantities, in any programming language.
Not included: broadcast loudness (LUFS, ITU-R BS.1770, EBU R 128), speech intelligibility (SII, STI), codec and speech quality metrics (PEAQ, PESQ, ViSQOL), psychophysics experiment software, music sensory-dissonance models (Plomp–Levelt, Sethares, Vassilakis), feature extractors whose loudness or sharpness descriptors follow no named psychoacoustic model, and closed-source tools. The ISO 532 reference programs can be downloaded free of charge but may not be modified, so they are described on the standards' own entries rather than listed as projects. A project that only calls another listed project is included when it is an end-user application or an established library. Candidates that were reviewed and left out are recorded, with the reason, in data/ignored.yaml.
How entries are checked
Each entry is written from the project's own README, documentation, release notes, licence file and package metadata, and links to those sources. The list records what a project claims. It does not run the code, and listing a project is not an endorsement.
Every month a GitHub Action refreshes repository dates, releases and package versions, searches GitHub and package registries for new candidate projects, and checks the ISO and Ecma catalogues for new editions. Dates and versions are updated directly. New candidates and editions go into an issue, and a person reviews them before anything is added.
Status of an implementation
| Value | Meaning |
|---|---|
| available | In the latest release, or on the default branch of a project without releases. |
| unreleased | Merged on the default branch but newer than the latest release. |
| PR | Open pull request or separate branch, not merged. |
Validation evidence
Validation is recorded as each project states it. When a project says what it compared its results with (MoSQITo, SQAT, the model authors' code or commercial software), the list names it, and the project page gives the details under How it was validated. Two implementations that agree compute the same values, but an error they share goes unnoticed.
| Value | Meaning |
|---|---|
| standard or paper data | Compared with test signals or values published in the standard or the model paper. |
| reference code | Compared with the reference program or the model authors' own code. |
| compared with another implementation | Compared with another implementation, named when the project says which. Agreement means that both compute the same values; they may still share an error. |
| own tests only | Tests exist, but without external reference data. |
| not stated | The project does not say how it was validated. |
Groups of projects
Each project is in one group. A project whose code could not be opened is under status unknown, one that computes nothing itself and calls another listed project is under others, and one that is archived or has had no commit for three years is legacy. Every other project keeps the standing recorded for it: established, newly released or developing. All lists follow the order established, newly released, developing, legacy, others, status unknown, so a project that is new, little used, no longer maintained or unverified is never suggested first. A few projects come before all others in every list, in bold: SQAT and MoSQITo (widely used), and sottek-hearing-model (a very good implementation). They are never listed as legacy, and neither are reference programs published with a standard, which are not expected to change.
| Group | Meaning |
|---|---|
| established | Described in a publication, used by others, or written by the authors of the model, with more than a year of history. |
| newly released | First released less than about a year ago, and not yet seen to be widely used in the community. |
| developing | Public for more than a year, but without a publication or documented use by others: research, teaching or personal code. |
| legacy | Archived, or no commit for three years or more. Kept for reference. The code may follow an older edition and may not run with current software. |
| other | Tools that do not compute the metrics themselves: interfaces, front ends and wrappers that call one of the listed projects. |
| status unknown | Projects whose code could not be opened, for example because the repository needs a login. What they implement is unverified, so they are listed with what they claim and not under the metrics. |
Kinds of project
The kind says what a project is for someone who wants to use it. Each project page names it.
| Kind | Meaning |
|---|---|
| Library/Toolbox | Functions to call from your own code: a Python package, a MATLAB toolbox, or a C, C++, C#, Rust or Julia library. |
| Research code | Code published with a study, a thesis or a student project, to run or adapt; not packaged as a library. |
| Application | A program to run, with a graphical or command-line interface; no programming needed. |
| Plug-in | Runs inside other software: a plug-in for an audio workstation, or a Pure Data external. |
| Reference program | Code published with a standard or by the authors of the model, as the reference for it. |
Leads not yet verified
Candidates that may belong in the list but could not be checked yet. Nothing here has been confirmed. They are listed so that nobody has to find them again.
- Genesis Loudness Toolbox MATLAB: Free MATLAB toolbox (2010) said to cover ISO 532B / DIN 45631, ANSI S3.4-2007, Zwicker's time-varying model, Glasberg & Moore (2002) and Boullet's (2006) loudness model for impulsive sounds. An archived copy of the page (2015) says the ZIP file contains MATLAB source files, validation WAV files and a Readme with the terms of use, but the download page was not archived and the website could not be reached, so the code and its licence could not be checked.
- Salford sound quality MATLAB codes MATLAB: Functions named
loudness_1991(Zwicker loudness, free or diffuse field),sharpness_Fastlandroughness4. The page describes the functions, but its "Download the MATLAB codes" item has no link, also in an archived copy of July 2025, so the code could not be obtained.
Not listed because they are closed source: MATLAB Audio Toolbox, HEAD acoustics ArtemiS SUITE, Simcenter Testlab, HBK BK Connect and Ansys Sound. Verification studies often use them as references.
Machine-readable data
The For AI page describes every machine-readable form of the list and how to use it.
- index.json: the whole index as one JSON document.
- llms.txt and llms-full.txt: summaries for language models, following the llms.txt proposal. Every page also has a Markdown version.
- feed.xml: Atom feed of updates.
- references.bib: every standard, model paper and software paper in the list, as BibTeX.
- Source data and its schema.
Visits to the website are counted with Cloudflare Web Analytics, which sets no cookies.
Contributing
Corrections and new projects are welcome. Open an issue, or send a pull request that adds or edits a file in data/projects/; CONTRIBUTING.md explains the format. Project authors are encouraged to check their own entry.
Citing
Please cite the list with the CITATION.cff file and the date you accessed it, and cite the implementations you actually used. Each project page says how, under How to cite. The standards and papers are in references.bib.
Licence
The data and the text (the list, this website, the README, llms.txt and index.json) are released under CC BY 4.0: you may copy, adapt and share them, also commercially, if you credit LISQM and its author, Zhenxian LI, link to the licence and say what you changed. The code that builds the website is released under the MIT licence. The listed projects have their own licences.
Developed by Zhenxian LI with assistance from Claude Code.