Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.18.1 This release

2 files

0.18.0

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.3

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

Supported by

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