This code generates the figures related to the published paper Enhancing Fin Whale Vocalizations in Distributed Acoustic Sensing Data. It serves as a tutorial for the fin whale calls denoising pipeline described in the paper.
Please cite this code and its associated paper as:
- Quentin Goestchel, William S. D. Wilcock, Shima Abadi; Enhancing fin whale vocalizations in distributed acoustic sensing data. J. Acoust. Soc. Am. 1 May 2025; 157 (5): 3655–3666. https://doi.org/10.1121/10.0036696
- Quentin Goestchel & Léa Bouffaut (2025). DAS4Whales: A Python package to analyze Distributed Acoustic Sensing (DAS) data for marine bioacoustics (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.15278387
Python environment and das4whales installation
The denoising code relies on functions that were contributed to the das4whales package. The dependencies of das4whales should be sufficient to run the scripts related to the sections of the article.
In command line, create a virtual environment for running the code:
python -m venv venvActivate the environment
source venv/bin/activateInstall das4whales and its dependencies
pip install 'git+https://github.com/DAS4Whales/DAS4Whales'All the scripts can be run using the makefile. Example for the section 3:
make section3The scripts in this repository are related to the sections of the paper Enhancing Fin Whale Vocalizations in Distributed Acoustic Sensing Data and follow its organization. They depend on functions developed in DAS4whales and show different denoising techniques for 20 Hz fin whale vocalizations, on a 60s subset of data. Namely:
main_section3.pyshows the use of bandpass filtering, hybrid f-k filtering and SNR estimation.main_section4.pyshows the effect of match-filtering and Gabor filtering on the data.main_section4c.pyshows the effect of the noise envelope subtraction technique.main_section5.pyshows the results of the time picking method for f-k filtered data and denoised data.
The data used in this code comes from the 2021 OOI RCA dataset:
Wilcock, W., & Ocean Observatories Initiative. (2023). Rapid: A Community Test of Distributed Acoustic Sensing on the Ocean Observatories Initiative Regional Cabled Array [Data set]. Ocean Observatories Initiative. https://doi.org/10.58046/5J60-FJ89
The codes are set to fetch the data automatically from the OOI server.
The scripts are memory intensive, and at least 32GB of RAM is recommended. Otherwise, the number of channels:
-selected_channels_m_north = [12000, 66000, 5]
-selected_channels_m_north = [12000, 66000, 5]
can be reduced by increasing the channel spacing in meters. The channel spacing of the raw data is 2m, the channel spacing used in these scripts is 4m and can be changed by increasing the last value in the lists above (e.g. 5).