The default model covers more than 6,500 bird species locally
BirdNET-Go turns a microphone, sound card, or RTSP stream into a continuous wildlife log. BirdNET v2.4 is embedded as the default classifier and covers more than 6,500 bird species. The web app shows detections, clips, heatmaps, and a live spectrogram. It can also send selected events to MQTT, BirdWeather, webhooks, or messaging services. This is a station application, not merely a command that labels one audio file.
The same installation can assign different models to separate sources or run models together. Google Perch v2 broadens the catalog beyond birds, while regional BattyBirdNET models handle bats with suitable audio hardware. The interface has 15 UI languages and species names in more than 40 languages. SQLite is the default datastore, MySQL is optional, and automatic backup and retention controls address a machine that may write clips all year.
CC BY-NC-SA 4.0 rules out many commercial uses
BirdNET-Go is source available under Creative Commons Attribution-NonCommercial-ShareAlike 4.0. The noncommercial restriction matters to consultants, hosted monitoring vendors, appliance makers, and companies embedding the software in a paid service. Do not assume that public source and a GitHub repository grant the same rights as MIT or Apache-2.0. Model and taxonomy terms can add separate obligations, so a commercial evaluation needs an actual license review.
An open issue created on September 2, 2026 proposes a move to AGPL-3.0 and asks contributors for consent because the project has no contributor license agreement. Several consent boxes were still unchecked when we read it. That thread describes a possible change, not the license in force. BirdNET-Analyzer is the cleaner alternative for MIT-licensed source, although its BirdNET models still carry noncommercial terms.
What happened when we ran it
Our 3-CPU, 8 GB sandbox installed 356 Go packages in 56 seconds. BirdNET-Go then built successfully in 8 seconds. The test step ran for 467 seconds and exited with code 1: 134 tests passed and 51 failed out of 185. The container was unprivileged, had no secrets, and used commit 4e6b486. A fast compile did not translate into a clean repository check.
The supplied log tail identifies TestCollectDeploymentInfo_Orchestration in internal/support as a failure, then shows several other packages completing successfully. It does not include the assertion text, so we cannot say what caused that failure or the other 50. We measured the checkout at 252.3 MB, with 2,891 files and about 741,830 source lines. Our scan found 28 CI workflow files, a Dockerfile, and no top-level tests directory.
The recommended Linux installer pulls a nightly container
The installation guide supports Debian 11 or newer, Ubuntu 20.04 or newer, and 64-bit Raspberry Pi OS Bullseye or newer. Its recommended script checks prerequisites, may install Docker and system packages with sudo, creates persistent config and data directories, and registers a systemd service. It pulls the nightly container by default. That is convenient for fixes, but a 24/7 station deserves a pinned image and a tested rollback.
Manual installation is less tidy. Windows and macOS users download a binary, then manage the TensorFlow Lite C library and process startup themselves. Some media paths require FFmpeg or SoX. The hardware guide sets a Raspberry Pi 4B with 2 GB as the minimum and recommends a Pi 5; it also suggests 64 GB or larger high-endurance storage for constant writes. The software install is only half of this purchase.
Bat monitoring starts at a 96 kHz audio path
Bat calls sit above the range captured by ordinary voice hardware. The hardware guide sets 96 kHz as the minimum input rate, describes 192 kHz as the practical target, and says 256 kHz or higher covers the full range with room to spare. An ultrasonic microphone and matching interface are therefore required. Checking the BattyBirdNET box without that signal chain will not create usable bat audio.
Model choice also needs validation. BirdNET v2.4 remains the default, while the 20260823 release calls v3.0 a developer preview. Open issue 4206 reports wrong Perch v2 results from one recommended regional FP32 build on a Raspberry Pi 5; the reporter says the full ARM64 model worked. That single report does not condemn Perch, but it is enough reason to compare detections before trusting a recommended variant.
Open issue 4177 says speech can survive the privacy filter
Issue 4177 describes a concrete privacy failure: classifiers keep only their top 10 results before the privacy filter sees them. Human speech scored below those results can disappear from the list, so lowering the privacy confidence threshold does not help. A concurrent bird detection and its clip may still be saved. Any station near a garden, window, workplace, or public path should test this behavior with real overlapping speech before enabling retention.
The 20260823 release fixed several other exposure paths. Detection media now requires authentication in Private Mode, CSRF checks no longer trust one browser header alone, and profiling endpoints were removed from the unauthenticated telemetry listener. BirdNET-Go supports passwords, OIDC, TLS, and trusted-network bypasses. Those controls are useful because the dashboard also contains administration features, including a browser terminal. Direct public exposure deserves a narrow access policy.
A September 2 push shows activity, while the failed suite matters
GitHub recorded a push on September 2, 2026, the same day as active issue and relicensing discussion updates. The repository had 1,834 stars and 179 combined issues and pull requests when fetched. Release 20260823 had shipped ten days earlier with model-gallery work, security fixes, and dashboard changes. These dates show active maintenance; the 179 count is not a bug total.
BirdNET-Go has the pieces for a serious backyard or field station: local inference, multiple sources, retention controls, alerts, and a polished browser view. Our 51 failed tests keep it out of unattended deployment until the exact target and configuration pass their own checks. The current license excludes many paid uses, and issue 4177 makes speech-retention testing mandatory anywhere people may be recorded.

