# iso532-3 (tv2018.m)

> Part of [LISQM](https://zhenxianli.github.io/LISQM/) (List of Implementations of Sound Quality Metrics), a list of open-source implementations of psychoacoustic metrics. Data as of 2026-10-28. Web page: https://zhenxianli.github.io/LISQM/projects/js2251-iso532-3.html

MATLAB code by Brian C. J. Moore, Brian R. Glasberg and Josef Schlittenlacher (Cambridge Hearing Group) for the loudness of time-varying sounds: the model of Moore et al. (2016) with the revised time constants of Moore et al. (2018). Its readme calls `tv2018.m` "the reference Matlab code referred to in ISO 532-3".

- **Repository:** https://github.com/js2251/iso532-3
- **Documentation:** https://github.com/js2251/iso532-3/blob/main/readme%20TVL%202018.pdf
- **Language:** MATLAB
- **Kind:** Reference program (Code published with a standard or by the authors of the model, as the reference for it.)
- **Group:** established (Described in a publication, used by others, or written by the authors of the model, with more than a year of history.)
- **Licence:** none — No licence file. The readme PDF says: "The code is provided free for any research purposes. For commercial use please contact Brian C. J. Moore."
- **Latest release:** no release
- **Last commit:** 2021-10-08 (inactive since 2021-10)
- **GitHub stars:** 2
- **Maintainers:** Brian C. J. Moore, Brian R. Glasberg, Josef Schlittenlacher
- **AI assistance:** not stated
- **How to cite:** The project does not say how to cite it. Cite the repository with the version or commit you used.
- **Entry checked:** 2026-10-07

## What it implements

| Metric | Edition | Functions | Status | Validation (as stated) | Notes |
|---|---|---|---|---|---|
| [Time-varying loudness (Moore–Glasberg–Schlittenlacher)](https://zhenxianli.github.io/LISQM/metrics/loudness-moore-glasberg-time-varying.html) | [ISO 532-3:2023](https://www.iso.org/standard/69856.html) (reference MATLAB code referred to in ISO 532-3, per its readme) | `tv2018` | available | not stated | Written by the model's authors (per the readme PDF). |

## 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.

- [Time-varying loudness (Moore–Glasberg–Schlittenlacher)](https://zhenxianli.github.io/LISQM/metrics/loudness-moore-glasberg-time-varying.html), ISO 532-3:2023: not stated
  - The folder "code for tables" has scripts that compute Table 5 (sone to phon) and the values of Annexes B and C (AnnexC.m is headed "Signals numbered as in ISO 532-2 Annex B"); the scripts do not name ISO 532-3.

## Notes

- There is no README.md; the documentation is the PDF "readme TVL 2018", which includes a worked example with the file 1k100ms.wav.
- Takes a WAV file or a MATLAB variable with one or two channels and resamples it to 32 kHz. Outer- and middle-ear transfer functions for free-field, diffuse-field and eardrum presentation are included. Returns short-term and long-term loudness and the instantaneous loudness of each ear.
- Also contains sone/phon conversion functions for the TV2015 and TV2018 tables (`Phon2SoneTV2015`, `Sone2PhonTV2015`, `Phon2SoneTV2018`, `Sone2PhonTV2018`).
- The Python project LoudnessModel is a translation of the Cambridge MATLAB code for the same model.
- An [archived copy](https://web.archive.org/web/20251123130736/https://www.psychol.cam.ac.uk/hearing) of the Cambridge Hearing Group's programs page (November 2025) offers the TVL 2018 MATLAB code as a ZIP file: 23 of its 28 MATLAB files are identical to this repository, which adds the TV2018 conversion tables and the scripts for the standard's tables. The page itself now needs a University of Cambridge login.

## Before you rely on it

- The code was last changed in October 2021, before ISO 532-3 was published (July 2023); the readme refers to "ISO 532-3 (2021)". Whether it is identical to the source code supplied with the published standard is not stated.
- For its text-file output, `tv2018.m` converts sone to phon with `Sone2PhonTV2015`, although TV2018 conversion tables were added in October 2021.
- The WAV files that the Annex B script reads are not in the repository, and no computed tables are stored.

## Sources

- https://github.com/js2251/iso532-3
- https://github.com/js2251/iso532-3/blob/main/readme%20TVL%202018.pdf
- https://github.com/js2251/iso532-3/blob/main/tv2018.m
- https://github.com/js2251/iso532-3/tree/main/code%20for%20tables
