Skip to content
forked from ggrecow/SQAT

SQAT is an open-source repository of MATLAB codes containing the implementation of key metrics for quantitative sound quality analysis.

License

Notifications You must be signed in to change notification settings

talesstorani/SQAT

 
 

Repository files navigation

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 from the original models, we provide a detailed set of verification routines. Moreover, a number of example codes and exemplary sound files is provided in order to facilitate the initial use of the algorithms.

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 in dB(A), dB(C), or dB(Z), using fast, slow or impulse time weightings (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 the examples codes (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

After downloading this repository, you just need to add the toolbox into the path of your MATLAB. The startup_SQAT code provided can be used to automatically include all folders to the MATLAB path, until the MATLAB session ends. In order to avoid conflicts, the startup_SQAT needs to be used every time MATLAB is (re)started. 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 and utilities).

Sound quality metrics available in SQAT v1.0

The implemented metrics available in the psychoacoustic_metrics folder are listed in the table below:

Metric Model Implementation Validation Example
Loudness ISO 532-1:2017 [1] link link link
Sharpness DIN 45692:2009 [2] link link link
Roughness Daniel & Weber [3] link link link
Fluctuation Strength Osses et al. [4] link link link
Tonality Aures [5] link link link
Psychoacoustic Annoyance Zwicker & Fastl [6] link - link
Psychoacoustic Annoyance More [7] link - link
Psychoacoustic Annoyance Di et al. [8] link - link

The following SPL-based metrics using different frequency weightings (A, C, or Z) and time weightings (fast, slow, or impulse) can be calculated using the codes available in sound_level_meter folder (see example):

  • Sound pressure level over time.
  • Equivalent sound pressure level.
  • Maximum sound pressure level.
  • Sound exposure level.

References

[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 Vechi, A., García León, 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] Zwicker, E., & Fastl, H. (1999). Psychoacoustics: facts and models, Second edition. Springer-Verlag.

[7] More, S. R. (2010). Aircraft noise characteristics and metrics. PhD thesis, Purdue University.

[8] 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.

How to cite this repository

If you use this toolbox in your research, please help us to gain visibility by citing SQAT:

Gil Felix Greco, Roberto Merino-Martínez, & Alejandro Osses. (2023). SQAT: a sound quality analysis toolbox for MATLAB. Zenodo. https://doi.org/10.5281/zenodo.7934709

If you need to cite the current release of SQAT, please refer to the "Cite this repository" feature in the "About" section of this GitHub repository.

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

About

SQAT is an open-source repository of MATLAB codes containing the implementation of key metrics for quantitative sound quality analysis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 100.0%