bird-song-detector
Bird Song Detector - Easy To Use Scripts and App
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Repository
Bird Song Detector - Easy To Use Scripts and App
Basic Info
Statistics
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 4
Topics
Metadata Files
README.md
Bird-Song-Detector
Bird-Song-Detector is part of a research to improve bird vocalization identification. The Bird Song Detector is designed to detect bird vocalizations in audio files using a YOLO-based model from the BIRDeep project. The system converts audio files into spectrogram images, performs bird song detection on these images, and transforms the predictions into time segments.
Note: The model has been trained on the BIRDeep dataset, which consists of audio recordings from Doana National Park (Huelva, Spain), located in Huelva, Spain. As such, the detector is particularly well-suited for identifying bird songs from this region and has not been tested on data from other areas.
For more information, visit the full BIRDeep Bird Song Detector repository.
Citation
This repository supports the research article:
Mrquez-Rodrguez, A., Mohedano-Munoz, M. ., Marn-Jimnez, M. J., Santamara-Garca, E., Bastianelli, G., Jordano, P., & Mendoza, I.
A Bird Song Detector for improving bird identification through Deep Learning: a case study from Doana
Ecological Informatics, 2025, 103254. https://doi.org/10.1016/j.ecoinf.2025.103254
bibtex
@article{marquez2025bird,
title={A Bird Song Detector for improving bird identification through Deep Learning: a case study from Doana},
author={Mrquez-Rodrguez, Alba and Mohedano-Munoz, Miguel ngel and Marn-Jimnez, Manuel J. and Santamara-Garca, Eduardo and Bastianelli, Giulia and Jordano, Pedro and Mendoza, Irene},
journal={Ecological Informatics},
volume={90},
pages={103254},
year={2025},
publisher={Elsevier},
doi={10.1016/j.ecoinf.2025.103254}
}
Read the article
Project Structure
The project is structured as follows:
plaintext
App/ # Application code
assets/
images/ # Images for README and documentation
Code/ # Core code files
audio_processing.py # Functions for processing audio files
predict_on_audio.py # Script to predict bird songs in a single audio file
predict_on_folder.py # Script to predict bird songs in all audio files in a folder
Data/ # Data directory
Audios/ # Sample audio files (place your own here)
Images/ # Spectrogram images generated from audio files
Segments/ # Directory for detected audio segments
flagged/ # Generated files from the Gradio app
Models/ # Model directory
Bird Song Detector/ # YOLO model
BirdNET FineTuned BIRDeep/ # Fine-tuned YOLO model
README.md # This README file
environment.yml # Conda environment specification
Setup
Clone the repository:
sh git clone https://github.com/yourusername/Bird-Song-Detector.git cd Bird-Song-DetectorCreate and activate conda environment from environment.yml:
sh conda env create -f environment.yml conda activate bird-song-detectorInstall dependencies:
sh pip install -r requirements.txt
Usage
Detect Bird Songs in a Single Audio File
Run the script predictonaudio.py to detect bird songs in a single audio file:
sh
python Code/predict_on_audio.py
Detect Bird Songs in Multiple Audio Files
Run the script predictonfolder.py to detect bird songs in all audio files in a folder:
sh
python Code/predict_on_folder.py
Web Interface
For a more interactive experience, you can run the Gradio web interface (app.py) by executing the following:
sh
python App/app.py
The web interface will be available at http://127.0.0.1:7860/ by default. On the main page, drag and drop your audio file into the upload box and click Detect Bird Song to process it.

Once the detection is complete, you will see the following:
- A list of predicted bird song segments with their start time, end time, and confidence score.
- The corresponding spectrogram image with bounding boxes indicating detected bird songs.

You can then click on the Generate Segments button to download a ZIP file containing the individual detected audio segments in WAV format.

The generated ZIP file will contain the predictions WAV format with the name of original audio file followed by the start and end time of the detection and the confidence score.

License
This project is licensed under the MIT License. See the LICENSE file for details.
Funding
This work has received financial support from the BIRDeep project (TED2021-129871A-I00), which is funded by MICIU/AEI/10.13039/501100011033 and the European Union NextGenerationEU/PRTR

Owner
- Name: GrunCrow
- Login: GrunCrow
- Kind: user
- Location: Huelva
- Company: Universidad de Huelva
- Twitter: gruncrow
- Repositories: 6
- Profile: https://github.com/GrunCrow
Computer Science Student in Universidad de Huelva, Spain
GitHub Events
Total
- Release event: 4
- Watch event: 4
- Push event: 9
- Fork event: 2
- Create event: 5
Last Year
- Release event: 4
- Watch event: 4
- Push event: 9
- Fork event: 2
- Create event: 5
Dependencies
- mpmath ==1.3.0
- networkx ==3.4.2
- nvidia-cublas-cu12 ==12.4.5.8
- nvidia-cuda-cupti-cu12 ==12.4.127
- nvidia-cuda-nvrtc-cu12 ==12.4.127
- nvidia-cuda-runtime-cu12 ==12.4.127
- nvidia-cudnn-cu12 ==9.1.0.70
- nvidia-cufft-cu12 ==11.2.1.3
- nvidia-curand-cu12 ==10.3.5.147
- nvidia-cusolver-cu12 ==11.6.1.9
- nvidia-cusparse-cu12 ==12.3.1.170
- nvidia-cusparselt-cu12 ==0.6.2
- nvidia-nccl-cu12 ==2.21.5
- nvidia-nvjitlink-cu12 ==12.4.127
- nvidia-nvtx-cu12 ==12.4.127
- sympy ==1.13.1
- torch ==2.6.0
- torchaudio ==2.6.0
- torchvision ==0.21.0
- triton ==3.2.0