Recent Releases of birdnet
birdnet - v1.0.0
The first stable release of birdnet. The API is now considered production-ready (Development Status :: 5), and this release brings the V3.0 model generation, four inference backends, per-file streaming results, and a long list of reliability fixes to the multiprocessing pipeline.
Features
- BirdNET V3.0 (preview) acoustic model in four backends —
tf,pb,ptandonnx— all supportingpredict(..)andencode(..). Load withbirdnet.load("acoustic", "3.0", <backend>);pt/onnxneed the newbirdnet[pt]/birdnet[onnx]extras. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/41 - BirdNET-Geomodel V3.0 (v3.0.4 — 14,082 classes covering birds, insects, amphibians and mammals) in
tf,pb,ptandonnx. Theptbackend applies the sigmoid the TorchScript export omits, so all four backends return identical probabilities. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/41, https://github.com/birdnet-team/birdnet/pull/60 and https://github.com/birdnet-team/birdnet/pull/81 on_file_completecallback for acousticpredict(..)/encode(..)and their session variants, fired the moment each file is done with a single-file result — enabling streaming per-file persistence and live output. Runs off the inference hot path, so throughput is unaffected. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/57apply_softmaxoption for acousticpredict(..), mirroringapply_sigmoid: scores become a softmax over the model logits, useful for confidence scores (e.g. Perch V2). by @max-mauermann in https://github.com/birdnet-team/birdnet/pull/54- Partial Python 3.14 support. TensorFlow has no 3.14 wheels yet, so
birdnetinstalls without it there and runs the TF-free backends — acoustic 3.0 and geo 3.0 viaonnx/pt. TensorFlow-only paths raise a clear error instead of anImportError. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/59
Changed
- The pipeline now uses the
spawnstart method by default on all platforms, instead of inheriting Linux'sfork, which could deadlock workers after TensorFlow started its multi-threaded runtime. A globally fixed start method is honored, andBIRDNET_START_METHODoverrides both, sofork/forkserverstay available by explicit opt-in. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/63 - The V3.0 models share the geomodel's versioned taxonomy, which resolves every geo label and matches the acoustic label file more closely than the previous pin. ⚠️ Estonian (
et) was dropped from the V3.0 language list, as the new taxonomy has no Estonian column. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/41 and https://github.com/birdnet-team/birdnet/pull/81 - The progress callback runs on a background thread with a copy of the caller's context (contextvars), matching
on_file_complete. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/53
Bugfixes
Most of these remove ways the inference pipeline could hang or return quietly wrong data.
- Corrupt rows in prediction/encoding output caused by growing the internal result buffer with
numpy.ndarray.resize, plus an off-by-one in the initial segment count. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/50 - A ~1 s barrier on every
run_arrays(..)call — on a warm session a 3 s clip went from 1069 ms to 39 ms. Also fixed an assertion that aborted a run when the ring-buffer scan found no readable slot. by @winedarksea in https://github.com/birdnet-team/birdnet/pull/66 - Producers and the performance tracker no longer attach the ring buffers inside a
forkchild, whereSharedMemory(create=False)could block forever on a lock CPython does not reinitialize afterfork. by @winedarksea in https://github.com/birdnet-team/birdnet/pull/67 - A pipeline process that dies mid-run — typically an OOM kill — is now reported with its name and exit code instead of leaving the call hanging forever. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/72
- The progress callback's closing update, which reported zero processed segments for runs that had processed everything, and published nothing at all for a run without predictions — leaving the call waiting indefinitely. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/78
- Sessions now tear down cleanly when cancelled, instead of blocking while draining worker queues. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/62
- Model, label and taxonomy downloads retry transient network faults with a growing back-off instead of failing the first
load(); permanent client errors still fail immediately. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/71 - Geo V3.0 caches self-heal across releases. A cached SavedModel or label file from an older release was not detected as stale, so a version bump could keep serving outdated labels; label files now record the taxonomy they came from and regenerate when it changes. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/41 and https://github.com/birdnet-team/birdnet/pull/81
Known limitation
A worker killed by the OS while processing a batch still deadlocks the surviving workers on Linux and macOS — the killed process never releases the ring-buffer lock. Lowering n_workers or batch_size reduces the risk. Tracked in https://github.com/birdnet-team/birdnet/issues/73.
Under the hood
- Documented the prediction worker limits and cleanup behaviour. by @Stava-Java in https://github.com/birdnet-team/birdnet/pull/65
- Additional test coverage, model caching between test runs, and CI stabilisation across macOS Intel, Windows and the fork lanes. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/58, https://github.com/birdnet-team/birdnet/pull/61, https://github.com/birdnet-team/birdnet/pull/63, https://github.com/birdnet-team/birdnet/pull/70, https://github.com/birdnet-team/birdnet/pull/79 and https://github.com/birdnet-team/birdnet/pull/80
- Docs updates for BirdNET 3.0 and the
n_workersmemory limitation. by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/52 and https://github.com/birdnet-team/birdnet/pull/76
New Contributors
- @max-mauermann made their first contribution in https://github.com/birdnet-team/birdnet/pull/54
- @Stava-Java made their first contribution in https://github.com/birdnet-team/birdnet/pull/65
- @winedarksea made their first contribution in https://github.com/birdnet-team/birdnet/pull/66
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.16...v1.0.0
Biosphere - Avian Monitoring and Analysis
- Python
Published by Josef-Haupt 16 days ago
birdnet - v0.2.16
What's Changed
- Dev by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/44
- Dev by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/45
- Dev by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/46
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.15...v0.2.16
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 4 months ago
birdnet - v0.2.15
What's Changed
- Dev by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/36
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.14...v0.2.15
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 4 months ago
birdnet - v0.2.14
What's Changed
- fixes issue 29 by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/30
- Updated sigmoid function call by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/26
- Allow classifiers trained with hidden units and with append mode by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/33
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.13...v0.2.14
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 4 months ago
birdnet - v0.2.13
What's Changed
- Merge dev by @stefantaubert in https://github.com/birdnet-team/birdnet/pull/31
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.12...v0.2.13
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 5 months ago
birdnet - v0.2.12
What's Changed
- Add
to_structured_arraytoAcousticEncodingResultBaseby @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/24 - Updated flat sigmoid to match birdnet_analyzer by @Josef-Haupt in https://github.com/birdnet-team/birdnet/pull/25
New Contributors
- @Josef-Haupt made their first contribution in https://github.com/birdnet-team/birdnet/pull/24
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.11...v0.2.12
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 6 months ago
birdnet - v0.2.11
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.10...v0.2.11
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.10
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.9...v0.2.10
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.9
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.8...v0.2.9
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.8
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.7...v0.2.8
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.7
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.6...v0.2.7
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.6
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.5...v0.2.6
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 9 months ago
birdnet - v0.2.5
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.4...v0.2.5
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.4
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.3...v0.2.4
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.3
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.2...v0.2.3
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.2
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.1...v0.2.2
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.1
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.2.0...v0.2.1
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.0
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.7...v0.2.0
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert 10 months ago
birdnet - v0.2.0a0
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.7...v0.2.0a0
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 1 year ago
birdnet - v0.1.7
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.6...v0.1.7
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert over 1 year ago
birdnet - v0.1.6
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.5...v0.1.6
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert almost 2 years ago
birdnet - v0.1.5
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.4...v0.1.5
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago
birdnet - v0.1.4
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.3...v0.1.4
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago
birdnet - v0.1.3
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.2...v0.1.3
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago
birdnet - v0.1.2
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.1...v0.1.2
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago
birdnet - v0.1.1
Full Changelog: https://github.com/birdnet-team/birdnet/compare/v0.1.0...v0.1.1
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago
birdnet - v0.1.0
Initial release
Full Changelog: https://github.com/birdnet-team/birdnet/commits/v0.1.0
Biosphere - Avian Monitoring and Analysis
- Python
Published by stefantaubert about 2 years ago