birdnet
A Python library for identifying bird species by their sounds.
Science Score: 26.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
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Keywords
Repository
A Python library for identifying bird species by their sounds.
Basic Info
Statistics
- Stars: 38
- Watchers: 5
- Forks: 7
- Open Issues: 7
- Releases: 9
Topics
Metadata Files
README.md
birdnet
A Python library for identifying bird species by their sounds.
The library is geared towards providing a robust workflow for ecological data analysis in bioacoustic projects. While it covers essential functionalities, it doesn’t include all the features found in BirdNET-Analyzer, which is available here. Some features might only be available in the BirdNET Analyzer and not in this package.
Please note that the project is under active development, so you might encounter changes that could affect your current workflow. We recommend checking for updates regularly.
The package is also available as an R package at: birdnetR.
Installation
```sh
For CPU users
pip install birdnet --user
For GPU users (NVIDIA GPU driver and CUDA need to be installed in advance)
pip install birdnet[and-cuda] --user
For edge devices (e.g., Raspberry Pi)
pip install birdnet[litert] --user ```
Example usage
Identify species within an audio file
```py from pathlib import Path
import birdnet from birdnet.utils import getspeciesfrom_file
model = birdnet.load("acoustic", "2.4", "tf", lang="en_us")
predict only the species from the file
predictions = model.predict( "example/soundscape.wav", customspecieslist=getspeciesfromfile(Path("example/specieslist.txt")), )
predictions.to_csv("example/predictions.csv") ```
The resulting predictions look like this (excerpt, scores may vary):

For a more detailed prediction you can take a look at example/predictions.csv.
Predict species for a given location and time
```py import birdnet
model = birdnet.load("geo", "2.4", "tf", lang="en_us")
predictions = model.predict(42.5, -76.45, week=4)
predictions.to_csv("example/location.csv") ```

The result is at example/location.csv.
Location of Log File
If something goes wrong, you can find the log file in the following locations:
- Windows:
C:\Users\{user}\AppData\Local\Temp\birdnet.log - Linux/MacOS:
/tmp/birdnet.log
File formats
The audio models support all formats compatible with the SoundFile library (see here). This includes, but is not limited to, WAV, FLAC, OGG, and AIFF. The flexibility of supported formats ensures that the models can handle a wide variety of audio input types, making them adaptable to different use cases and environments.
- Supported: AIFC, AIFF, AU, AVR, CAF, FLAC, HTK, IRCAM, MAT4, MAT5, MP3, MPC2K, NIST, OGG, OPUS, PAF, PVF, RAW, RF64, SD2, SDS, SVX, VOC, W64, WAV, WAVEX, WVE, XI
- Not supportet at the moment: AAC, M4A, WMA
Model formats and execution details
This project provides two model formats: Protobuf/Raven and TFLite. Both models are designed to have identical precision up to 2 decimal places, with differences only appearing from the third decimal place onward.
- TFLite Model: This model is limited to CPU execution only.
- Protobuf Model: This model can be executed on both GPU and CPU.
Ensure your environment is configured to utilize the appropriate model and available hardware optimally.
License
- Source Code: The source code for this project is licensed under the MIT License.
- Models: The models used in this project are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
Please ensure you review and adhere to the specific license terms provided with each model. Note that educational and research purposes are considered non-commercial use cases.
Citation
Feel free to use birdnet for your acoustic analyses and research. If you do, please cite as:
bibtex
@article{kahl2021birdnet,
title={BirdNET: A deep learning solution for avian diversity monitoring},
author={Kahl, Stefan and Wood, Connor M and Eibl, Maximilian and Klinck, Holger},
journal={Ecological Informatics},
volume={61},
pages={101236},
year={2021},
publisher={Elsevier}
}
Funding
This project is supported by Jake Holshuh (Cornell class of '69) and The Arthur Vining Davis Foundations. Our work in the K. Lisa Yang Center for Conservation Bioacoustics is made possible by the generosity of K. Lisa Yang to advance innovative conservation technologies to inspire and inform the conservation of wildlife and habitats.
The development of BirdNET is supported by the German Federal Ministry of Education and Research through the project “BirdNET+” (FKZ 01|S22072). The German Federal Ministry for the Environment, Nature Conservation, Nuclear Safety and Consumer Protection contributes through the “DeepBirdDetect” project (FKZ 67KI31040E). In addition, the Deutsche Bundesstiftung Umwelt supports BirdNET through the project “RangerSound” (project 39263/01).
Partners
BirdNET is a joint effort of partners from academia and industry. Without these partnerships, this project would not have been possible. Thank you!

Owner
- Name: BirdNET-Team
- Login: birdnet-team
- Kind: organization
- Location: Germany
- Repositories: 1
- Profile: https://github.com/birdnet-team
GitHub Events
Total
- Create event: 3
- Release event: 2
- Issues event: 14
- Watch event: 27
- Delete event: 2
- Issue comment event: 7
- Push event: 131
- Fork event: 7
Last Year
- Create event: 3
- Release event: 2
- Issues event: 14
- Watch event: 27
- Delete event: 2
- Issue comment event: 7
- Push event: 132
- Fork event: 7
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 14
- Total pull requests: 0
- Average time to close issues: 7 days
- Average time to close pull requests: N/A
- Total issue authors: 8
- Total pull request authors: 0
- Average comments per issue: 0.93
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 10
- Pull requests: 0
- Average time to close issues: 9 days
- Average time to close pull requests: N/A
- Issue authors: 6
- Pull request authors: 0
- Average comments per issue: 0.6
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- fegue (5)
- m1cha3lya1r (3)
- aaron-dsouza (1)
- stefantaubert (1)
- phibos (1)
- LoveChina-3000 (1)
- elehcimd (1)
- Mattk70 (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 661 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 17
- Total maintainers: 1
proxy.golang.org: github.com/birdnet-team/birdnet
- Documentation: https://pkg.go.dev/github.com/birdnet-team/birdnet#section-documentation
- License: mit
-
Latest release: v0.1.7
published over 1 year ago
Rankings
pypi.org: birdnet
A Python library for identifying bird species by their sounds.
- Homepage: https://github.com/birdnet-team/birdnet
- Documentation: https://birdnet.readthedocs.io/
- License: MIT
-
Latest release: 0.1.7
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- autoflake * develop
- autopep8 * develop
- birdnet * develop
- build * develop
- isort * develop
- mypy * develop
- pandas-stubs * develop
- pycodestyle * develop
- pylint * develop
- pytest * develop
- rope * develop
- twine * develop
- types-requests * develop
- types-tqdm * develop
- librosa >=0.10.0, <1.0.0
- numpy >=1.23.5, <2.0.0
- ordered-set >=4.1.0, <5.0.0
- resampy >=0.4.3, <1.0.0
- scipy >=1.9.3, <2.0.0
- soundfile >=0.12.1, <1.0.0
- tensorflow ==2.15.1
- tqdm >=4.64.1, <5.0.0
- 168 dependencies
- librosa >=0.10.0, <1.0.0
- numpy >=1.23.5, <2.0.0
- ordered-set >=4.1.0, <5.0.0
- resampy >=0.4.3, <1.0.0
- scipy >=1.9.3, <2.0.0
- soundfile >=0.12.1, <1.0.0
- tensorflow ==2.15.1
- tqdm >=4.64.1, <5.0.0