BirdNET v3.0 Models (GPU-native full + regional catalog)
BirdNET+ V3.0 (developer preview 4) acoustic classifier, re-exported to a GPU-native ONNX graph, plus a catalog of region-specific slices that are much smaller while staying numerically identical to the full model on the species they keep.
Developer preview. These are developer preview 4 models for research and evaluation.
Licence and terms
Each release came with its own upstream terms, and the repo-level licence tag stays CC BY-SA 4.0 for all of them.
- developer preview 4 (
birdnet-v3.0-preview4): the upstream developer-branch model licence (Apache-2.0) and acceptable-use guidance,LICENSE-preview4.mdandACCEPTABLE_USE-preview4.mdat the repo root, unchanged from upstream. - developer preview 3.1 (
birdnet-v3.0-preview3.1):TERMS_OF_USE.txt(CC BY-SA 4.0; no poaching or military use).
Origin and attribution
Powered by BirdNET (https://birdnet.cornell.edu/). BirdNET+ V3.0 is developed by the K. Lisa Yang Center for Conservation Bioacoustics (Cornell University), Chemnitz University of Technology, and the Museum fuer Naturkunde Berlin. It builds on Kahl et al. (2021) and Lasseck (2018). Architecture of this release: EfficientNet-B0 backbone, three-head classifier, 12,295 species.
The GPU-native conversion and the regional slicing in this repo are derived work under CC BY-SA 4.0.
Releases in this repo
The current release is developer preview 4 (birdnet-v3.0-preview4). Earlier releases stay
available under their original file names:
- developer preview 3.1 (
birdnet-v3.0-preview3.1):full/birdnet-v3.0-preview3.1-fp32-b1.onnx,full/birdnet-v3.0-preview3.1-fp16-b1.onnx,full/birdnet-v3.0-preview3.1-labels-b1.txt, and per tileregional/<tile>/birdnet-v3.0-preview3.1-<tile>-{fp32,fp16,labels,indices}-b1. Its files are unchanged.
What "GPU-native" means
The BirdNET team's ONNX export computes its log-mel front-end with an in-graph
ONNX STFT op. ONNX Runtime has no CUDA/TensorRT kernel for STFT, and OpenVINO
cannot translate it at all, so the stock export cannot run on GPU or OpenVINO. In
these models the STFT is replaced with a mathematically equivalent Conv1d
(framing + windowed DFT), so the graph holds no op those runtimes lack.
This release was run on ONNX Runtime CPU; it was not benchmarked on OpenVINO, so OpenVINO selects the fp32 file. The CUDA and TensorRT entries carry over from preview3.1 and were not run for preview4. One model serves CPU and GPU; there is no separate CPU/GPU
build.
Input: raw audio [batch, 160000] (5 s @ 32 kHz, matching Perch v2 so a host
can feed both classifiers the same buffer). Outputs: predictions [batch, 12,295]
(a static dimension, sigmoid already applied) and embeddings [batch, 1280].
Variants and hardware
| precision | best for |
|---|---|
-fp32- |
run this: ONNX Runtime and OpenVINO (BirdNET-Go runs v3.0 at f32 on every OpenVINO device) |
-fp16- |
half the download; slower on ONNX Runtime CPU. See the note above for what it was checked on |
FP16 is a download-size lever, not a CPU one. ONNX Runtime upconverts FP16 weights at inference, so on CPU FP16 is equal to or slower than FP32. For low-RAM CPU devices the right choice is a regional FP32 model, not FP16.
int8-arm is not shipped for v3.0: the backbone is Conv-dominated and int8-arm only quantizes MatMul/Gemm weights, so it barely helps here.
Full model
| file | classes | MB |
|---|---|---|
full/birdnet-v3.0-preview4-fp32-b1.onnx |
12,295 | 521 |
full/birdnet-v3.0-preview4-fp16-b1.onnx |
12,295 | 269 |
full/birdnet-v3.0-preview4-labels-b1.txt |
12,295 | - |
Why regional models
The three-head classifier holds a large share of the model's parameters, so restricting it to a region's species set cuts memory and download size. Each tile is numerically identical to the full model on the species it keeps (max abs difference vs the full model < 1e-6); the only change is that out-of-region species are not emitted, which at a fixed monitoring location is exactly what you want. Region species sets come from the BirdNET Geomodel v3.0.2 range filter (species by occurrence probability, up to a per-tile cap, plus a cosmopolitan core), using the same tiles as the Perch v2 regional catalog. The cap is 800 for most temperate tiles and higher for species-rich ones.
A species the geomodel names differently from the classifier (a moved genus, a changed spelling) is matched through a reviewed rename table, so the preview4 tiles keep species an exact name match would have dropped. The preview3.1 tiles predate that table and stay as published.
Regional catalog
Each tile ships fp32 and fp16 models + labels + indices + coverage.png +
metadata. regional/groups.json lists the continent grouping.
Europe
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
azores |
![]() |
226 | 63.0 | 40.2 |
baltics |
![]() |
439 | 71.1 | 44.2 |
british-isles |
![]() |
560 | 75.7 | 46.5 |
canary-islands |
![]() |
394 | 69.4 | 43.4 |
central-europe |
![]() |
642 | 78.8 | 48.1 |
eastern-europe |
![]() |
517 | 74.1 | 45.7 |
iberia |
![]() |
625 | 78.2 | 47.8 |
iceland |
![]() |
388 | 69.2 | 43.3 |
madeira |
![]() |
259 | 64.3 | 40.8 |
nordic |
![]() |
421 | 70.4 | 43.9 |
southern-europe |
![]() |
614 | 77.7 | 47.5 |
svalbard |
![]() |
278 | 65.0 | 41.2 |
western-palearctic |
![]() |
1401 | 107.6 | 62.5 |
Asia
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
china-north-central |
![]() |
779 | 84.0 | 50.7 |
china-northeast |
![]() |
676 | 80.1 | 48.7 |
china-southeast |
![]() |
1176 | 99.0 | 58.2 |
china-southwest |
![]() |
1211 | 100.4 | 58.9 |
himalaya |
![]() |
1209 | 100.3 | 58.8 |
indo-gangetic |
![]() |
1199 | 99.9 | 58.6 |
japan |
![]() |
597 | 77.1 | 47.2 |
south-asia-peninsular |
![]() |
660 | 79.5 | 48.4 |
tibet |
![]() |
1209 | 100.3 | 58.8 |
North America
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
canada-alaska |
![]() |
747 | 82.8 | 50.1 |
north-america-east |
![]() |
801 | 84.8 | 51.1 |
north-america-west |
![]() |
802 | 84.9 | 51.1 |
South America
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
amazonia |
![]() |
3183 | 175.1 | 96.2 |
andes |
![]() |
3324 | 180.5 | 98.9 |
eastern-brazil |
![]() |
1958 | 128.7 | 73.0 |
galapagos |
![]() |
143 | 59.9 | 38.6 |
southern-cone |
![]() |
1635 | 116.4 | 66.9 |
Africa
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
cape-verde |
![]() |
149 | 60.1 | 38.7 |
central-africa |
![]() |
1659 | 117.4 | 67.4 |
east-africa |
![]() |
1947 | 128.3 | 72.8 |
mauritius |
![]() |
74 | 57.3 | 37.3 |
reunion |
![]() |
76 | 57.3 | 37.3 |
sao-tome-principe |
![]() |
127 | 59.3 | 38.3 |
seychelles |
![]() |
123 | 59.1 | 38.2 |
southern-africa |
![]() |
803 | 84.9 | 51.1 |
west-africa |
![]() |
1093 | 95.9 | 56.6 |
Oceania
| region | coverage | classes | fp32 MB | fp16 MB |
|---|---|---|---|---|
australia-east |
![]() |
756 | 83.1 | 50.2 |
hawaii |
![]() |
284 | 65.2 | 41.3 |
new-caledonia |
![]() |
182 | 61.4 | 39.4 |
new-zealand |
![]() |
287 | 65.3 | 41.3 |
Deployment
- Point your host at a tile's model + its labels file (matching counts) and
restart. Labels are
Scientific name_Common name. - Confidence is a per-class sigmoid; slicing does not change a kept class's score (unlike a softmax model), so thresholds transfer directly from the full model.
- Binaries are hosted here on HuggingFace; the derivation tooling lives separately.










































