SQAT
SQAT is an open-source repository of MATLAB codes containing the implementation of key metrics for quantitative sound quality analysis.
Install / Use
/learn @ggrecow/SQATREADME
SQAT: a sound quality analysis toolbox for MATLAB
This is the repository of SQAT, an open-source Sound Quality Analysis Toolbox for MATLAB. It contains a collection of codes implementing key metrics for quantitative sound quality analysis. With SQAT you can conduct quick quantitative sound quality analysis on any calibrated input sound file, in Pascal units. To give a transparent indication of how close the implementations are to the original models, we provide a detailed set of verification routines. Moreover, a number of example codes and exemplary sound files are provided in order to facilitate the initial use of the algorithms.
Sound quality metrics available in SQAT
<!---The following psychoacoustic-based metrics are available in the `psychoacoustic_metrics` folder : - `Loudness_ISO532_1`: Zwicker loudness model according to ISO 532-1:2017 (see [validation](validation/Loudness_ISO532_1) and [example](examples/Loudness_ISO532_1/ex_Loudness_ISO532_1.m)). - `Sharpness_DIN45692`: Sharpness according to DIN 45692:2009 (see [validation](validation/Sharpness_DIN45692) and [example](examples/Sharpness_DIN45692/ex_Sharpness_DIN45692.m)). - `Roughness_Daniel1997`: Roughness model from Daniel & Weber (see [validation](validation/Roughness_Daniel1997) and [example](examples/Roughness_Daniel1997/ex_Roughness_Daniel1997.m)). - `FluctuationStrength_Osses2016`: Fluctuation strength model from Osses *et al.* (see [validation](validation/FluctuationStrength_Osses2016) and [example](examples/FluctuationStrength_Osses2016/ex_FluctuationStrength_Osses2016.m)). - `Tonality_Aures1985`: Tonality model from Aures (see [validation](validation/Tonality_Aures1985) and [example](examples/Tonality_Aures1985/ex_Tonality_Aures1985.m)). - `PsychoacousticAnnoyance_Zwicker1999`: psychoacoustic annoyance model from Zwicker *et al.* (see [example](examples/PsychoacousticAnnoyance_Zwicker1999/ex_PsychoacousticAnnoyance_Zwicker1999.m)). - `PsychoacousticAnnoyance_More2010`: psychoacoustic annoyance model from More (see [example](examples/PsychoacousticAnnoyance_More2010/ex_PsychoacousticAnnoyance_More2010.m)). - `PsychoacousticAnnoyance_Di2016`: psychoacoustic annoyance model from Di *et al.* (see [example](examples/PsychoacousticAnnoyance_Di2016/ex_PsychoacousticAnnoyance_Di2016.m)). --->The implemented metrics available in the psychoacoustic_metrics folder are listed in the table below, including the release on which each metric was first introduced:
| Metric | Model | Implementation | Validation | Example | Release | | :---: | :---: |:---: |:---: |:---: |:---: | | Loudness | ISO 532-1:2017 [1] | link | link | link | v1.0 | | Sharpness | DIN 45692:2009 [2] | link | link | link | v1.0 | | Roughness | Daniel & Weber [3] | link | link | link | v1.0 | | Fluctuation Strength | Osses et al. [4] | link | link | link | v1.0 | | Tonality | Aures [5] | link | link | link | v1.0 | | Psychoacoustic Annoyance | Widmann [6] (commonly misattributed to Zwicker & Fastl [7]) | link / link | - | link / link | v1.0 | | Psychoacoustic Annoyance | More [8] | link | - | link | v1.0 | | Psychoacoustic Annoyance | Di et al. [9] | link | - | link | v1.0 | | EPNL | FAR Part 36 [10] | link | link | link | v1.1 | | Loudness | ECMA-418-2:2025 [11] | link | link | link | v1.3 | | Roughness | ECMA-418-2:2025 [11] | link | link | link | v1.3 | | Tonality | ECMA-418-2:2025 [11] | link | link | link | v1.3 |
<details> <summary><b>References</summary> <br>[1] International Organization for Standardization. (2017). Acoustics - Methods for calculating loudness - Part 1: Zwicker method (ISO Standard No. 532-1).
[2] Deutsches Institut für Normung. (2009). Measurement technique for the simulation of the auditory sensation of sharpness (DIN Standard No. 45692).
[3] Daniel, P., & Weber, R. (1997). Psychoacoustical Roughness: Implementation of an Optimized Model. Acta Acustica united with Acustica, 83(1), 113-123.
[4] Osses, A., García, R., & Kohlrausch, A. (2016). Modelling the sensation of fluctuation strength. Proceedings of Meetings on Acoustics, 28(1), 050005.
[5] Aures, W. (1985). Berechnungsverfahren für den sensorischen Wohlklang beliebiger Schallsignale (A model for calculating the sensory euphony of various sounds). Acta Acustica united with Acustica, 59(2), 130-141.
[6] Widmann, U. (1992). Ein Modell der Psychoakustischen Lästigkeit von Schallen und seine Anwendung in der Praxis der Lärmbeurteilung (A model of the psychoacoustic annoyance of sounds and its application in noise assessment practice). Doctoral thesis, Technische Universität München.
[7] Zwicker, E., & Fastl, H. (1999). Psychoacoustics: facts and models, Second edition. Springer-Verlag. DOI: 10.1007/978-3-662-09562-1
[8] More, S. R. (2010). Aircraft noise characteristics and metrics. Doctoral thesis, Purdue University. https://docs.lib.purdue.edu/dissertations/AAI3453255/
[9] Di, G. Q., Chen, X. W., Song, K., Zhou, B., & Pei, C. M. (2016). Improvement of Zwicker’s psychoacoustic annoyance model aiming at tonal noises. Applied Acoustics, 105, 164-170.
[10] Federal Aviation Regulations. (2005). 14 CFR Parts 36 and 91, Docket No. FAA-2003-16526; Amendment No. 36-26, 91-288. https://www.ecfr.gov/current/title-14/appendix-Appendix%20A%20to%20Part%2036 (last viewed October 30, 2023)
[11] Ecma International. (2025). Psychoacoustic metrics for ITT equipment - Part 2 (methods for describing human perception based on the Sottek Hearing Model) (Standard No. 418-2, 4th Edition/June 2025). https://ecma-international.org/wp-content/uploads/ECMA-418-2_4th_edition_june_2025.pdf (Last viewed November 16, 2025)
</details>Sound level meter
The following sound pressure level (SPL) based metrics can be calculated using the codes available in sound_level_meter folder (see examples):
- SPL over time
- Frequency weightings (A, B, C, D or Z)
- Time weightings (Fast, Slow or Impulse by default, but customizable)
- Equivalent SPL
- Maximum SPL
- Sound exposure level
- SPL spectrum in 1/3 octave bands
Toolbox structure
The toolbox has the following directories:
psychoacoustic_metrics: this directory contains a number of algorithms implementing a specific psychoacoustic metric (see folder).sound_level_meter: contains scripts to obtain sound pressure levels using different frequency weightings (A, B, C, D or Z) and time weightings (Fast, Slow or Impulse) (see folder).utilities: contains some scripts that are complementary to any of the toolbox functions (see folder).examples: an example script is provided for each metric (see folder).sound_files: this directory hosts reference sounds in .wav format that are used mainly by theexamplescodes (see folder).validation: this directory contains scripts used to validate each algorithm. Instructions on how to run these codes are provided in each respective folder and directly on the header of the codes (see folder).publications: contains scripts to reproduce figures and/or tables of publications from the toolbox authors (see folder).
How to use the toolbox
-
Download or clone this repository to your local computer. One way to do that is to press the button 'Code' -> Choose 'Download ZIP' and unzip somewhere).
-
After that, you need to add the relevant folders of the toolbox to the path of your MATLAB. Open and run the
startup_SQAT.mscript to automatically perform this task. In order to avoid conflicts, thestartup_SQAT.mneeds to be used every time MATLAB is (re)started.
[!TIP] If you just want to use the metrics, you can add manually only the relevant folders to the MATLAB path (e.g.,
psychoacoustic_metrics,sound_level_meter, andutilities).
How to cite this repository
If you use this toolbox in your research,
