Skip to main content

A python api for BirdNET-Lite and BirdNET-Analyzer

Project description

birdnetlib

PyPI Python 3.x Test

A python api for BirdNET-Analyzer and BirdNET-Lite

birdnetlib provides a common interface for BirdNET-Analyzer and BirdNET-Lite.

Documentation

Documentation is at https://joeweiss.github.io/birdnetlib.

See Getting Started for a quick introduction.

Installation

birdnetlib requires Python 3.9+ and prior installation of Tensorflow Lite, librosa and ffmpeg. See BirdNET-Analyzer for more details on installing the Tensorflow-related dependencies.

pip install birdnetlib

Basic usage

To use the latest BirdNET-Analyzer model, use the Analyzer class.

from birdnetlib import Recording
from birdnetlib.analyzer import Analyzer
from datetime import datetime

# Load and initialize the BirdNET-Analyzer models.
analyzer = Analyzer()

recording = Recording(
    analyzer,
    "sample.mp3",
    lat=35.4244,
    lon=-120.7463,
    date=datetime(year=2022, month=5, day=10), # use date or week_48
    min_conf=0.25,
)
recording.analyze()
print(recording.detections)

recording.detections contains a list of detected species, along with time ranges and confidence value.

[{'common_name': 'House Finch',
  'confidence': 0.5744,
  'end_time': 12.0,
  'scientific_name': 'Haemorhous mexicanus',
  'start_time': 9.0,
  'label': 'Haemorhous mexicanus_House Finch'},
 {'common_name': 'House Finch',
  'confidence': 0.4496,
  'end_time': 15.0,
  'scientific_name': 'Haemorhous mexicanus',
  'start_time': 12.0,
  'label': 'Haemorhous mexicanus_House Finch'}]

The Recording class takes a file path as an argument. You can also use RecordingFileObject to analyze an in-memory object, or RecordingBuffer for handling an array buffer.

About BirdNET-Lite and BirdNET-Analyzer

birdnetlib uses models provided by BirdNET-Lite and BirdNET-Analyzer under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.

BirdNET-Lite and BirdNET-Analyzer were developed by the K. Lisa Yang Center for Conservation Bioacoustics at the Cornell Lab of Ornithology.

For more information on BirdNET analyzers, please see the project repositories below:

BirdNET-Analyzer

BirdNET-Lite

birdnetlib is not associated with BirdNET-Lite, BirdNET-Analyzer or the K. Lisa Yang Center for Conservation Bioacoustics.

About birdnetlib

birdnetlib is maintained by Joe Weiss. Contributions are welcome.

Project Goals

  • Establish a unified API for interacting with Tensorflow-based BirdNET analyzers
  • Enable python-based test cases for BirdNET analyzers
  • Make it easier to use BirdNET in python-based projects
  • Make it easier to migrate to new BirdNET versions/models as they become available

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

birdnetlib-0.18.1.tar.gz (61.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

birdnetlib-0.18.1-py3-none-any.whl (61.1 MB view details)

Uploaded Python 3

File details

Details for the file birdnetlib-0.18.1.tar.gz.

File metadata

  • Download URL: birdnetlib-0.18.1.tar.gz
  • Upload date:
  • Size: 61.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for birdnetlib-0.18.1.tar.gz
Algorithm Hash digest
SHA256 40b65f1679c7d6c111d9a88978392936b6a4639720b9cf744534f21536d19c09
MD5 45358a0820823cd56151f29a6ee999f1
BLAKE2b-256 62f7515cf733697f4125687b6aaab5609ae82dabedaab84bf35518af9599d33f

See more details on using hashes here.

File details

Details for the file birdnetlib-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: birdnetlib-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 61.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for birdnetlib-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d2283e5f747ee181b90c41b88a247ee5570152b1ad0298242bda820871d33c49
MD5 a4906eb59fd8dcbb8703c3b2f92edfee
BLAKE2b-256 6a0e40f2109f86702e4da61eaf13d06a0af9ad38f8a614216d7f027ee0845c34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page