Skip to content

BirdNET 3.0 support + 3.0 Geomodel#963

Open
Josef-Haupt wants to merge 1 commit into
mainfrom
3.0-support
Open

BirdNET 3.0 support + 3.0 Geomodel#963
Josef-Haupt wants to merge 1 commit into
mainfrom
3.0-support

Conversation

@Josef-Haupt

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings July 24, 2026 14:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds BirdNET 3.0 as the new default acoustic model, updates GUI/CLI affordances to select/use 2.4 vs 3.0, and introduces reconciliation logic so geo-model species lists can be safely applied to different acoustic model taxonomies by joining on scientific name.

Changes:

  • Default acoustic inference and analysis to BirdNET 3.0; pin tests that assert label-baseline behavior to BirdNET 2.4.
  • Add scientific-name-based reconciliation (match_species_to_model) and thread it through location-based analysis so geo species filtering works across model versions/taxonomies.
  • Update GUI/CLI model/locale handling (new default model choice in GUI; CLI locale options derived from shared config).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/gui/test_presets.py Adds regression test ensuring presets restore “BirdNET 3.0” selection from saved params.
tests/analyze/test_analyze.py Pins several tests to BirdNET 2.4 and adds new tests covering default 3.0 + geo-species reconciliation behavior.
birdnet_analyzer/model_utils.py Defaults inference to 3.0, forces custom classifiers onto 2.4 base, adds scientific-name mapping, and updates geo model loading.
birdnet_analyzer/gui/utils.py Adds BirdNET 3.0 as a selectable GUI model, computes default selection, and adjusts locale visibility/choices.
birdnet_analyzer/gui/presets.py Restores GUI model choice based on saved BirdNET version (2.4 vs 3.0).
birdnet_analyzer/gui/analysis.py Wires selected GUI model choice into the birdnet= analysis parameter.
birdnet_analyzer/config.py Derives default acoustic/geo versions from installed birdnet and centralizes supported locale unions.
birdnet_analyzer/cli.py Uses derived default acoustic version and config-driven locale lists; restricts geo-species command locales.
birdnet_analyzer/analyze/core.py Defaults analysis to 3.0 and enables scientific-name reconciliation when species list comes from location.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +40 to +42
# Languages the (always newest) geo model can label its species list in. The v3.0
# geo and acoustic models share the same language set.
GEO_MODEL_LANGUAGES: list[str] = list(VALID_MODEL_LANGUAGES_V3_0)
Comment on lines +555 to +559
"""Returns the models that can be selected on the current platform.

The BirdNET acoustic versions are taken from the installed birdnet library, newest
first, so a new model becomes selectable (and the default) without a code change.
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants