birdnet

The library is geared towards providing a robust workflow for ecological data analysis in bioacoustic projects.
https://github.com/birdnet-team/birdnet

Category: Biosphere
Sub Category: Avian Monitoring and Analysis

Keywords

acoustic-monitoring bioacoustics birds birdsong deep-learning

Last synced: about 23 hours ago
JSON representation

Repository metadata

A Python library for identifying bird species by their sounds.

README.md

birdnet

PyPI
PyPI
MIT

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

# 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

from pathlib import Path

import birdnet
from birdnet.utils import get_species_from_file

model = birdnet.load("acoustic", "2.4", "tf", lang="en_us")

# predict only the species from the file
predictions = model.predict(
  "example/soundscape.wav",
  custom_species_list=get_species_from_file(Path("example/species_list.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

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

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:

@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

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 Research, Technology and Space (FKZ 01|S22072), the German Federal Ministry for the Environment, Climate Action, Nature Conservation and Nuclear Safety (FKZ 67KI31040E), the German Federal Ministry of Economic Affairs and Energy (FKZ 16KN095550), the Deutsche Bundesstiftung Umwelt (project 39263/01) and the European Social Fund.

Partners

BirdNET is a joint effort of partners from academia and industry.
Without these partnerships, this project would not have been possible.
Thank you!

Our partners


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 607
Total Committers: 1
Avg Commits per committer: 607.0
Development Distribution Score (DDS): 0.0

Commits in past year: 522
Committers in past year: 1
Avg Commits per committer in past year: 522.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Stefan Taubert 2****t 607

Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 21
Total pull requests: 0
Average time to close issues: 3 months
Average time to close pull requests: N/A
Total issue authors: 13
Total pull request authors: 0
Average comments per issue: 1.33
Average comments per pull request: 0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 15
Past year pull requests: 0
Past year average time to close issues: about 2 months
Past year average time to close pull requests: N/A
Past year issue authors: 12
Past year pull request authors: 0
Past year average comments per issue: 1.2
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/birdnet-team/birdnet

Top Issue Authors

  • fegue (5)
  • stefantaubert (3)
  • m1cha3lya1r (3)
  • TiSa1988 (1)
  • aaron-dsouza (1)
  • Josef-Haupt (1)
  • bdenney (1)
  • esaltzm (1)
  • phibos (1)
  • olivier-monaco (1)
  • LoveChina-3000 (1)
  • elehcimd (1)
  • Mattk70 (1)

Top Pull Request Authors


Top Issue Labels

  • enhancement (1)

Top Pull Request Labels


Package metadata

proxy.golang.org: github.com/birdnet-team/birdnet

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/
  • Licenses: MIT
  • Latest release: 0.2.11 (published 16 days ago)
  • Last Synced: 2025-12-21T10:42:54.969Z (4 days ago)
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,965 Last month
  • Rankings:
    • Dependent packages count: 10.589%
    • Average: 35.111%
    • Dependent repos count: 59.632%
  • Maintainers (1)

Dependencies

Pipfile pypi
  • 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
Pipfile.lock pypi
  • 168 dependencies
pyproject.toml pypi
  • 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

Score: 11.710890685752204