Releases: ggrecow/SQAT
SQAT v1.2
Fixed issues
EPNL_FAR_Part36.m
- bandsharing procedure used to adjust the PNLTM value is now included, according to pull request #7
- 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
- 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 structstruct_opt
needs to contain the parametera0_type
, meaningstruct_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)
- inline function related to the creation of the transmission factor were moved to the
utilities
folder. The new standalone functions arecalculate_a0
, andcreate_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
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 thesound_level_meter
folder. The name of the function isDo_OB13_ISO532_1.m
. This allows for its flexible use on other codes, including for the calculation of 1/3 octave band spectra using thesound_level_meter
itself. This change does not have any effect on the results provided by theLoudness_ISO532_1
code released in SQAT v1.0. -
sound_level_meter
: with the addition of theDo_OB13_ISO532_1.m
function, it is now possible to perform spectral analysis using thesound_level_meter
in 1/3 octave bands. An example of usage is included underexamples/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 thepsychoacoustic_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 thestartup_SQAT.m
script.
Fixed issues
-
sound_level_meter
: implementation of the B-weighting is now fixed. A code namedsound_level_meter/test_Gen_weighting.m
is now available. This code allows for a quick visual verification of the weighting functions generated by theGen_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 thevalidation
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
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.