# ITA-Toolbox

> 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/ita-toolbox.html

MATLAB toolbox for acoustic measurements and signal processing from the Institute of Technical Acoustics, RWTH Aachen University, open source since 2010. Its psychoacoustics application computes stationary loudness after DIN 45631 / ISO 532 B, time-varying loudness after DIN 45631/A1, Daniel & Weber roughness and DIN 45681 tonality (2002 draft).

- **Repository:** https://git.rwth-aachen.de/ita/toolbox
- **Homepage:** https://www.ita-toolbox.org/
- **Language:** MATLAB
- **Kind:** Library/Toolbox (Functions to call from your own code: a Python package, a MATLAB toolbox, or a C, C++, C#, Rust or Julia library.)
- **Group:** established (Described in a publication, used by others, or written by the authors of the model, with more than a year of history. A widely used toolbox for acoustic measurements and signal processing that also includes some psychoacoustic functions.)
- **Licence:** BSD-4-Clause — The root license.txt (2011) is the four-clause BSD licence: advertising material that mentions the software must acknowledge the Institute of Technical Acoustics (RWTH Aachen University). The psychoacoustics files refer to a licence in their own folder, which contains none.
- **Latest release:** no release
- **Last commit:** 2025-09-22 (inactive since 2025-09)
- **Maintainers:** Institute of Technical Acoustics (ITA), RWTH Aachen University
- **AI assistance:** not stated
- **Paper:** Berzborn, M., Bomhardt, R., Klein, J., Richter, J.-G., & Vorländer, M. (2017). The ITA-Toolbox: An open source MATLAB toolbox for acoustic measurements and signal processing. *Fortschritte der Akustik – DAGA 2017*, Kiel, 222–225. https://publications.rwth-aachen.de/record/687308
- **How to cite:** Cite the paper above. Name the version or commit you used.
- **Entry checked:** 2026-10-07

## What it implements

| Metric | Edition | Functions | Status | Validation (as stated) | Notes |
|---|---|---|---|---|---|
| [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html) | [DIN 45631/A1:2010](https://www.dinmedia.de/en/standard/din-45631-a1/122476084) (time-varying, with N5) | `ita_loudness_timevariant` | available | standard or paper data (results plotted, not checked) | The header says "DIN 45631/A1" without a year; the function was written in August 2010, after the amendment was published. A code comment says the C code of the nonlinearity block was copied from the DIN document, "without its errors". |
| [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html) | [DIN 45631:1991](https://www.dinmedia.de/en/standard/din-45631/1666531) (stationary; free or diffuse field) | `ita_loudness` | available | standard or paper data | The header says "DIN 45631 / ISO 532 B". The C core (`private/DIN45631.c`) is Aaron Hastings' version (2000) of the BASIC program published by Zwicker, Fastl, Widmann, Kurakata, Kuwano and Namba in J. Acoust. Soc. Jpn (E) 12(1), 1991. |
| [Roughness (Daniel & Weber)](https://zhenxianli.github.io/LISQM/metrics/roughness-daniel-weber.html) | [Daniel & Weber (1997)](https://zhenxianli.github.io/LISQM/standards.html#ref-daniel-weber-1997) | `ita_roughness_daniel` | available | standard or paper data (a code comment only) | Uses sub-functions written by Martin Klemenz in 2000 (`external_packages/roughness_daniel`). |
| [Tonal components (DIN 45681)](https://zhenxianli.github.io/LISQM/metrics/tonality-din-45681.html) | [E DIN 45681:2002-11](https://zhenxianli.github.io/LISQM/standards.html#ref-din-45681-2002-draft) (maximum tonal audibility and its frequency) | `ita_tonality` | available | not stated | The header cites "DIN 45681 (2002)", the draft that preceded DIN 45681:2005. A code comment says that no A-weighting is applied. |

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

- [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html), DIN 45631/A1:2010: standard or paper data (results plotted, not checked)
  - A test script plots the results for the amendment's test signals A to D (1 kHz tone pulses of 10 ms to 500 ms) against its tolerance bands; it does not check them automatically.
- [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html), DIN 45631:1991: standard or paper data
  - Ported or adapted from BASIC program of DIN 45631 (Zwicker et al., 1991).
  - A test compares the loudness of a generated pink noise with 95.09 sone (GF), a value the test attributes to DIN 45631, within 5 %, with third-octave levels computed both by FFT and by filter bank.
- [Roughness (Daniel & Weber)](https://zhenxianli.github.io/LISQM/metrics/roughness-daniel-weber.html), Daniel & Weber (1997): standard or paper data (a code comment only)
  - A code comment says that after major bug fixes the values "more or less match those of the paper by Daniel"; no test or comparison script is included.

Not stated for Tonal components (DIN 45681) · E DIN 45681:2002-11.

## Before you compare numbers

Implementations of the same metric can give different numbers without either being wrong. Check these choices first.

- [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html) (DIN 45631/A1:2010): N5 is MATLAB's `prctile(N, 95)`. Blocks are 2 ms long without overlap by default, and the signal is processed at its own sample rate.
- [Zwicker loudness](https://zhenxianli.github.io/LISQM/metrics/loudness-zwicker.html) (DIN 45631:1991): Third-octave levels come from an FFT by default, or from a filter bank (`'mode', 'filter'`).

## Notes

- The psychoacoustic functions were written in 2010 (Martin Guski: loudness; Daniel Cragg: roughness, tonality and sharpness) and are in `applications/Psychoacoustics`, last changed in September 2022.
- `ita_sharpness` names no method; its weighting has the form of the DIN 45692 weighting, but as the code does not say which standard it follows, it is not listed as an implementation of DIN 45692.
- The repository is on RWTH Aachen University's GitLab, which announces a move to gitlab.git.nrw, so its address may change.

## Before you rely on it

- `ita_roughness_daniel` and `ita_sharpness` print that a newer version exists (`ita_psychoacoustic_roughness`, `ita_psychoacoustic_sharpness`). Those functions, like `ita_psychoacoustic_loudness` and `ita_psychoacoustic_fluctuationStrength` (2021), call the MATLAB Audio Toolbox, which is closed source, so they are not listed here.
- There are no releases; use the default branch.

## Sources

- https://git.rwth-aachen.de/ita/toolbox
- https://git.rwth-aachen.de/ita/toolbox/-/blob/master/license.txt
- https://git.rwth-aachen.de/ita/toolbox/-/tree/master/applications/Psychoacoustics
- https://www.ita-toolbox.org/
- https://publications.rwth-aachen.de/record/687308
