BirdNET-only inference package for ARIA (Acoustic Recognition for Inventories of Aviaries)
Project description
aria-inference-birdnet
BirdNET-only inference package for ARIA (Acoustic Recognition for Inventories of Aviaries).
This is the baseline detection system for the BioDCASE 2026 Challenge.
Installation
Requires Python 3.11 or 3.12.
pip install aria-inference-birdnet
This automatically installs BirdNET-Analyzer and all other dependencies.
Quick start
1. Download model files
aria-inference-birdnet download-models --dir ./models
This fetches the following from GitHub Releases:
ZooCustom_v1.tflite– custom BirdNET classifier trained on zoo speciesZooCustom_v1_Labels.txt– species label list
2. Run detection
aria-inference-birdnet detect \
--input /path/to/audio_or_folder \
--output predictions.csv \
--model-dir ./models \
--allowed-species-file allowed_species.txt
3. Python API
from pathlib import Path
from aria_inference_birdnet import run_detection
run_detection(
input_path=Path("recordings/"),
output_csv=Path("predictions.csv"),
model_dir=Path("models/"),
allowed_species_file=Path("allowed_species.txt"),
temperature=1.8,
top_k=3,
)
CLI reference
detect
| Flag | Default | Description |
|---|---|---|
--input |
(required) | Audio file or directory |
--output |
(required) | Output CSV path |
--model-dir |
(required) | Directory with model files |
--allowed-species-file |
None |
Species whitelist (one per line) |
--min-confidence |
0.05 |
Global confidence cutoff |
--temperature |
1.8 |
Confidence scaling (T>1 reduces saturation) |
--overlap |
0.0 |
Window overlap in seconds |
--threads |
4 |
CPU threads |
--topk |
3 |
Max species per window (0=disable) |
--eval-csv |
(auto) | Per-class threshold CSV |
download-models
| Flag | Default | Description |
|---|---|---|
--dir |
(required) | Local directory for model files |
--skip-optional |
False |
Skip the evaluation CSV |
Pipeline stages
- BirdNET analysis – runs
birdnet_analyzer.analyzeon the input audio - Species filtering – keeps only species listed in
allowed_species.txt - Temperature scaling – calibrates over-saturated confidences (T=1.8 by default)
- CSV merging – combines per-file result CSVs into one
- Per-class thresholds – applies optimal thresholds from training evaluation (if available)
- Top-K filtering – keeps at most K species per 3-second window
Output format
The output CSV has BirdNET's standard columns:
File name,Start (s),End (s),Scientific name,Common name,Confidence
recording_001.wav,0.0,3.0,Phoenicopterus roseus,Greater Flamingo,0.8734
recording_001.wav,3.0,6.0,Bostrychia hagedash,Hadada Ibis,0.7521
Notes
- This package is inference-only. It does not include training, data fetching, or segmentation.
- Species filtering is controlled only by the user-provided
allowed_species.txt. There is no zoo-specific configuration. - Model binaries are hosted as GitHub Release assets to keep the pip package small.
- Python 3.10 is not supported because birdnet-analyzer requires ≥3.11.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aria_inference_birdnet-0.1.2.tar.gz.
File metadata
- Download URL: aria_inference_birdnet-0.1.2.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
804943354d73f34aeb8b695ce2ce3d568e1c28e18734f961ddb490e7c508d4c4
|
|
| MD5 |
86c0bfdedc6e2acd282425e96213b7af
|
|
| BLAKE2b-256 |
c5732e8de58fca049fe61f302ad5494ce7f4fbf5892d32e3ac2c924f9f4d2f33
|
File details
Details for the file aria_inference_birdnet-0.1.2-py3-none-any.whl.
File metadata
- Download URL: aria_inference_birdnet-0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1fa3ea393927618b13e46b0df6360595400752ec2dae97973300d9771a2279e
|
|
| MD5 |
8839446afa1c609bd6d927ee7d4723a9
|
|
| BLAKE2b-256 |
af64a32fb1b8fb8e46b07ac696c35b83b56ec6644598d328bcafbaf61f93ccbc
|