Skip to content

Evaluation of time-frequency analysis algorithms for bioacoustics applications.

License

Notifications You must be signed in to change notification settings

b-jancovich/time_freq_analysis

Repository files navigation

time_freq_analysis

This repository contains MATLAB functions and scripts used to evaluate algorithms for the time-frequency analysis of animal vocalisations. The code was written as part of the following study:

Jancovich, B.A., Rogers, T.L., BASSA: New software tool reveals hidden details in visualisation of low‐frequency animal sounds (2024)
Centre for Marine Science and Innovation
School of Biological, Earth and Environmental Sciences
University of New South Wales, Sydney, Australia

To evaluate the code used to conduct this study, please download the entire repository.
The following MATLAB products must be installed:
- MATLAB 2022b
- MATLAB Signal Processing Toolbox
- MATLAB Image Processing Toolbox
- MATLAB Wavelet Toolbox

Additionally, the following Github repository must be downloaded and added to the MATLAB Path:
- Superlets (https://github.com/TransylvanianInstituteOfNeuroscience/Superlets)

The following algorithms are compared:
- Short-time Fourier transform (50pt and 250pt window sizes)
- Continuous wavelet transform
- Fractional adaptive superresolution wavelet transform (aka. Superlets transform, aka. SLT)

"groundtruth_comparison.m"
This script generates a synthetic animal call, runs it through the four time-frequency analysis algorithms, constructs a "ground truth" time-frequency representation, and measures agreement between ground truth and the algorithm outputs. This script was the basis for the "Qualitative Evaluation - Synthetic Animal Call" and the "Qualitative Evaluation - Synthetic Animal Call" sections of this study. To run, open script, configure the "User Variables" section, hit "Run".

"loadfile_compare_TFRs.m"
This script loads a .wav audio file and performs time-frequency anayses by the four different methods. Analysis parameters are configured by GUI elements. Results are plotted and saved in a user selected location. To run, open script, hit "Run". All user interactions are via GUI dialog boxes.

References:
Moca, V. V., Bârzan, H., Nagy-Dăbâcan, A. & Mureșan, R. C. Time-frequency super-resolution with superlets. Nat. Commun. 12, 337 (2021).