This repository provides an end-to-end audio classification pipeline for detecting animal vocalizations in wildlife recordings. It includes audio preprocessing, feature extraction, optional synthetic data generation, classifier training, evaluation, and prediction. The workflow was developed for chimpanzee vocalizations but can be adapted to other species with labeled audio.
The detailed project documentation, tutorials and results are on the project website
- Python >=3.12
- Sklearn ~1.7.0
- Numpy ~2.2.6
- Pandas ~2.3.0
- torch~2.6.0
- torchaudio~2.0.2
- torchlibrosa~0.1.0
| Trained on | Recorder | SVM | CNN10 |
|---|---|---|---|
| Sanctuary | a | 0.62 | 0.81 |
| Sanctuary + Synthetic | a | 0.75 | 0.93 |
| Sanctuary | b | 0.60 | 0.84 |
| Sanctuary + Synthetic | b | 0.78 | 0.92 |
- SVM and CNN classifier families are supported.
- The pipeline is designed for cross-environment generalization.
- Synthetic data generation is available for target-domain robustness.
Trained CNN10 and CNN12 chimpanzee vocalization classifiers are published on Hugging Face Hub, ready to use without retraining:
| Model | Training data | Hugging Face |
|---|---|---|
| CNN10 | Sanctuary + synthetic (recommended) | utrechtuniversity/chimp-vocalization-cnn10-synthetic |
| CNN10 | Sanctuary only | utrechtuniversity/chimp-vocalization-cnn10-sanctuary |
| CNN12 | Sanctuary + synthetic (recommended) | utrechtuniversity/chimp-vocalization-cnn12-synthetic |
| CNN12 | Sanctuary only | utrechtuniversity/chimp-vocalization-cnn12-sanctuary |
Each model repo includes trained weights, a standalone modeling.py (no need to install this package), a standalone preprocess.py reproducing the exact training-time feature extraction, and cross-environment evaluation results. See the model cards on Hugging Face for architecture details, training data, and usage examples.
Joeri Zwerts - j.a.zwerts@uu.nl
Research Engineering team - research.engineering@uu.nl
Project Link: https://github.com/UtrechtUniversity/animal-sounds
- Introducing a central african primate vocalisation dataset for automated species classification.\ Zwerts, J. A., Treep, J., Kaandorp, C. S., Meewis, F., Koot, A. C., & Kaya, H. (2021).\ arXiv preprint
- The INTERSPEECH 2021 Computational Paralinguistics Challenge: COVID-19 cough, COVID-19 speech, escalation & primates.
Schuller, B. W., Batliner, A., Bergler, C., Mascolo, C., Han, J., Lefter, I., ... & Kaandorp, C. (2021).
arXiv preprint - Zwerts, J., Treep, J., Zahedi, P., & Kaandorp, C. (2024). Central African Primate vocalization bioacoustics dataset: Yoda Data publication platform of Utrecht University.
Contributions are what make the open source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
To contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
