This repository is made to run the snowmobile detector on your audio files.
Moreoever, in this repository we provide guidance on setting up a pipeline for real-time analysis of audio files on Google Cloud. For more information see the README in the subfolder cloud_analysis.
Below are the intructions on installing and using the snowmobile detector with both Docker and without. The output of the script is a subfolder SNOWMOBILE_RESULTS
containing the .csv
file of the analyzed file. Note that the folder SNOWMOBILE_RESULTS
will be located in the same folder as the input file.
Create the Docker image image:
git clone https://github.com/NINAnor/snowmobile_analyzer.git
cd snowmobile_analyzer
docker build -t snowmobile -f Dockerfile .
Run the program using the analyze.sh
script which is a wrapper around the Docker command
./analyze.sh ./example/example_audio.mp3
Note that if you want to have more control over the arguments you can use Docker:
docker run \
--rm \
--gpus all \
-v ./logs:/app/logs \ # Important to write the log files
-v "$FOLDER_TO_EXPOSE":/data \
snowmobile \
--input /data/"$FILENAME"
Note that you can change ./example/example_audio.mp3
to the path of your own file.
pip install -r requirements.txt
Copy the github repository and get the model from Zenodo.
cd ~
git clone https://github.com/NINAnor/snowmobile_analyzer.git
cd snowmobile-analyzer/audioclip
wget https://zenodo.org/record/7969521/files/assets.zip?download=1
unzip ./assets.zip?download=1
cd ../
Install the dependancies and update the PYTHONPATH
:
poetry install --no-root
export PYTHONPATH="${PYTHONPATH}:~/snowmobile_analyzer/:~/snowmobile_analyzer/audioclip"
Run the script:
poetry run python src/predict.py --input example/example_audio.mp3
The program creates a folder SNOWMOBILE_RESULTS containing a .csv
file with the following columns:
start_detection | end_detection | label | confidence | hr |
---|---|---|---|---|
0 | 3 | 1 | 0.97691464 | 0.19687336119166438 |
3 | 6 | 1 | 0.9611957 | 0.16774687365839228 |
start_detection
andend_detection
are in secondslabel
is always equal to 1 (i.e. snowmobile detected)confidence
is the model confidencehr
is the harmonic ratio value
By default the program select detections for which confidence
> 0.95 and hr
> 0.1.
For bug reports please use the issues section.
For other inquiries please contact Benjamin Cretois or Femke Gelderblom
Cretois, B., Bick, I. A., Balantic, C., Gelderblom, F., Pavon-Jordan, D., Wiel, J., ... & Reinen, T. A. (2023). Snowmobile noise alters bird vocalization patterns during winter and pre-breeding season. bioRxiv, 2023-07.