Skip to content

Releases: ggrecow/SQAT

SQAT v1.2

13 Jan 22:07
Compare
Choose a tag to compare

Fixed issues

EPNL_FAR_Part36.m

  1. bandsharing procedure used to adjust the PNLTM value is now included, according to pull request #7
  2. small issue related to threshold value used for the duration correction (see pull request #5).

REMARK: Tested all 3 verification codes with the above mentioned fixed issues, and NO changes were observed on those results.

Changes

FluctuationStrength_Osses2016.m

  1. In response to Issue #11, an extra input called struct_opt was included to allow for optional parameters (see merge #13). Currently, the only parameters that can be changed is the a0 (sound transmission factor). For that, the struct struct_opt needs to contain the parameter a0_type, meaning struct_opt.a0_type= 'string_input' should be defined with one of the following strings:

string_input = 'fluctuationstrength_osses2016' : freq response is almost entirely flat (this is the default which is used if no input is given at all), as defined by the model's author

string_input = 'fastl2007' : uses the transmission factor for free-field, according to Fig 8.18 (page 226) in Fastl & Zwicker Book, Psychoacoustics: facts and models 3rd edition (doi: 10.1007/978-3-540-68888-4)

  1. inline function related to the creation of the transmission factor were moved to the utilities folder. The new standalone functions are calculate_a0 , and create_a0_FIR, which could be used by other models if required.

REMARK: the fluctuationstrength_osses2016 transmission factor was the one used by default in all SQAT versions, and it still is the one used by default in the FS model if nothing is given by the user. Therefore, this code is backwards compatible with previous SQAT versions.

NOTE: an example code showing the outcomes and how to use this new feature is provide in the examples folder [Link}

ex_FluctuationStrength_Osses2016_parametrisation.m - this code inside the examples folder shows how to use this feature.

NEW

ex_SPL_meter_sinusoidal_tones.m - shows how to use the sound_level_meter to compute the SPL time-history of two sinusoidal tones using different time- and freq-weightings.

ex_third_octave_spectrogram_2tones.m - shows 1) how to use the Do_OB13_ISO532_1 function to decompose a signal composed of two sinusoidal tones (fc=100Hz and 1 kHz, both with 60 dBSPL) into third-octave bands, 2) compute the SPL time-history each 1/3 octave band using different time- and freq-weightings based on the Do_SLM function, 3) plot a spectrogram comparing the results.

Loudness_ISO532_1.m - additional plots summarizing results of validation study.

SQAT v1.1

29 Jan 13:05
c47dac3
Compare
Choose a tag to compare

Additional features (and modifications necessary for that)

  • Loudness_ISO532_1: the third octave band calculation used in this code was re-coded into an standalone function and placed in the sound_level_meter folder. The name of the function is Do_OB13_ISO532_1.m. This allows for its flexible use on other codes, including for the calculation of 1/3 octave band spectra using the sound_level_meter itself. This change does not have any effect on the results provided by the Loudness_ISO532_1 code released in SQAT v1.0.

  • sound_level_meter: with the addition of the Do_OB13_ISO532_1.m function, it is now possible to perform spectral analysis using the sound_level_meter in 1/3 octave bands. An example of usage is included under examples/sound_level_meter/ex_Do_OB13_ISO532_1.m.

  • EPNL_FAR_Part36.m - an implementation of the Effective Perceived Noise Level (EPNL) metri is now available under the psychoacoustic_metrics folder. An example code (including a ex sound file), as well as validation codes of this implementation are provided. All necessary files can be automatically added into the matlab search path using the startup_SQAT.m script.

Fixed issues

  • sound_level_meter: implementation of the B-weighting is now fixed. A code named sound_level_meter/test_Gen_weighting.m is now available. This code allows for a quick visual verification of the weighting functions generated by the Gen_weighting_filters function.

  • Tonality_Aures1985: an issue on the bandwidth calculation method was reported and corrected. Because the tones' bandwidth has an relevant influence on the final result, this has lead to a small change on the results. In comparison to the original version of the code, the results leads now to slightly smaller values. Thus, the value of the calibration constant had to be incresed to compensate for that. The change of the calibration value was based on the reference signal. Additionaly, this new version of the code was tested using the code available on the validation folder (a very small difference between old vs. new versions were observed). Nevertheless, this modification might have a relevant influence on your results, and the recalculation of tonality values using this updated version is highly recommended.

SQAT v1.0

14 May 14:56
Compare
Choose a tag to compare

First release of SQAT: a 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 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.