BirdNET-Go

Realtime BirdNET soundscape analyzer.
https://github.com/tphakala/birdnet-go

Category: Biosphere
Sub Category: Bioacoustics and Acoustic Data Analysis

Keywords

artificial-intelligence audio bioacoustics birdnet birdnet-pi birds birdweather contributions-welcome go golang linux raspberry-pi raspberrypi svelte tailwindcss tensorflow wildlife

Keywords from Contributors

alpinejs first-issue help-wanted htmx

Last synced: about 23 hours ago
JSON representation

Repository metadata

Realtime BirdNET soundscape analyzer

README.md

BirdNET-Go

BirdNET-Go is an AI solution for continuous avian monitoring and identification

  • 24/7 realtime bird song analysis of soundcard capture, analysis output to log file, SQLite or MySQL
  • Utilizes BirdNET AI model trained with more than 6500 bird species
  • Local processing, Internet connectivity not required
  • Easy to use Web user interface for data visualisation
  • Supports over 40 languages for species names
  • Advanced features like Deep Detection for improved accuracy and Live Audio Streaming.
  • BirdWeather.com API integration
  • Realtime log file output can be used as overlay in OBS for bird feeder streams etc.
  • Minimal runtime dependencies, BirdNET Tensorflow Lite model is embedded in compiled binary
  • Provides endpoint for Prometheus data scraping
  • Runs on Windows, Linux and macOS
  • Low resource usage, works on Raspberry Pi 3 and equivalent 64-bit single board computers

Installation

Quick install script for Debian, Ubuntu and Raspberry Pi OS based systems:

curl -fsSL https://github.com/tphakala/birdnet-go/raw/main/install.sh -o install.sh
bash ./install.sh

Development Setup

For developers who want to contribute or build from source:

See CONTRIBUTING.md for more details.

# Clone the repository
git clone https://github.com/tphakala/birdnet-go.git
cd birdnet-go

# Install Task (if not already installed)
# Linux: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
# macOS: brew install go-task (assumes Homebrew is installed)

# Setup development environment (Linux apt-based or macOS with homebrew)
task setup-dev

# Build the project
task

# Start development server with hot reload
task dev_server # or "air realtime"

The setup-dev task will automatically install:

  • Go 1.25
  • Node.js LTS
  • Build tools (gcc, git, wget, etc.)
  • golangci-lint (Go linter)
  • air (hot reload for Go)
  • Frontend dependencies and Playwright browsers

Web Dashboard

For detailed installation instructions, see the installation documentation. For securing your BirdNET-Go installation, see the security documentation. See recommended hardware for optimal performance.

There is more detailed usage documentation at Wiki

Community

Join our Discord server for support, discussions, and updates about BirdNET-Go!

Related Projects

Core & Extensions

System Integration

  • Cockpit BirdNET-Go - Web-based system management plugin for BirdNET-Go using Cockpit framework

Migration Tools

  • BirdNET-Pi2Go - Database conversion tool for migrating from BirdNET-Pi to BirdNET-Go

Hardware Solutions

Contributing

Want to contribute? We welcome contributions from the community! 🎉

For comprehensive contributing guidelines, development setup, and workflow documentation, see CONTRIBUTING.md.

Quick Start for Contributors

Experienced developers can get started in 5 minutes:

git clone https://github.com/tphakala/birdnet-go.git && cd birdnet-go
task setup-dev  # One command installs everything (Go, Node.js, tools, git hooks)
air realtime    # Start developing with hot reload

New to the project? The contributing guide includes:

All contributions must follow:

  • ✅ Privacy-by-design principles
  • ✅ Code quality standards (automated via git hooks)
  • ✅ CC BY-NC-SA 4.0 license terms

See CONTRIBUTING.md for complete details.

Data Sources

Taxonomy Data

BirdNET-Go includes embedded taxonomy data derived from the eBird/Clements Checklist:

  • Source: eBird API v2
  • Copyright: © Cornell Lab of Ornithology
  • License: Used under eBird API Terms of Use for non-commercial purposes
  • Attribution: Taxonomy data powered by eBird.org
  • Purpose: Provides fast local genus/family lookups without requiring API calls
  • Coverage: 2,374 genera, 254 families, 11,145 species

For more information about eBird's taxonomy, visit eBird Taxonomy.

License

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International

Authors

Tomi P. Hakala

Contributions by Hampus Carlsson, Jan Vrska, @twt--, @aster1sk, @hoover67

Please let me know if you are missing from contributors list!

BirdNET AI model by the K. Lisa Yang Center for Conservation Bioacoustics at the Cornell Lab of Ornithology in collaboration with Chemnitz University of Technology. Stefan Kahl, Connor Wood, Maximilian Eibl, Holger Klinck.

BirdNET label translations by Patrick Levin for BirdNET-Pi project by Patrick McGuire.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 12 days ago

Total Commits: 3,518
Total Committers: 32
Avg Commits per committer: 109.938
Development Distribution Score (DDS): 0.096

Commits in past year: 2,736
Committers in past year: 21
Avg Commits per committer in past year: 130.286
Development Distribution Score (DDS) in past year: 0.078

Name Email Commits
Tomi P. Hakala t****a@p****i 3181
dependabot[bot] 4****] 168
Hampus Carlsson c****9@g****m 58
github-actions[bot] 4****] 36
Petteri Ponsimaa p****p@g****m 22
HurleySk 1****k 7
Cameron Ring c****n@c****u 4
Kyle Niewiada k****a@g****m 4
Phaeton 8****n 4
Tomi P. Hakala t****a@e****i 3
Chris Kalafarski c****s@f****m 3
geekworldtour g****e@g****m 3
Christopher Kalafarski f****i@m****m 2
Joel Krauska j****a@g****m 2
Pete Lawrence p****e@c****k 2
claude[bot] 2****] 2
Sean Kelly s****n@g****m 2
janvrska 1****a 1
coderabbitai[bot] 1****] 1
Joel Krauska j****a@J****l 1
Pete Lawrence p****e@o****k 1
vivi v****i@p****r 1
amplify-security[bot] 1****] 1
Tim Tickel t****t@c****o 1
PovilasID 3****D 1
Oskari Kantoniemi o****i@g****m 1
Marc Zottner m****c@z****m 1
Leonardo Colman Lopes d****v@l****r 1
Floris 4****e 1
Fabio Guedes f****s@g****m 1
and 2 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 7 days ago

Total issues: 334
Total pull requests: 1,101
Average time to close issues: 26 days
Average time to close pull requests: 3 days
Total issue authors: 129
Total pull request authors: 26
Average comments per issue: 1.93
Average comments per pull request: 1.24
Merged pull request: 825
Bot issues: 8
Bot pull requests: 333

Past year issues: 236
Past year pull requests: 897
Past year average time to close issues: 6 days
Past year average time to close pull requests: 1 day
Past year issue authors: 107
Past year pull request authors: 17
Past year average comments per issue: 1.97
Past year average comments per pull request: 1.27
Past year merged pull request: 676
Past year bot issues: 7
Past year bot pull requests: 262

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/tphakala/birdnet-go

Top Issue Authors

  • tphakala (92)
  • Lenbok (11)
  • farski (9)
  • aav7fl (8)
  • xconverge (7)
  • tomlut (6)
  • coderabbitai[bot] (6)
  • PovilasID (6)
  • HWittingen (5)
  • isZumpo (5)
  • matthew73210 (5)
  • jkrauska (5)
  • HinzundKunz (5)
  • mfortini (4)
  • MueJosh (4)

Top Pull Request Authors

  • tphakala (669)
  • dependabot[bot] (250)
  • github-actions[bot] (77)
  • isZumpo (33)
  • aav7fl (10)
  • petterip (9)
  • Phaeton (8)
  • coderabbitai[bot] (5)
  • PeteLawrence (5)
  • farski (4)
  • geekworldtour (4)
  • cameronr (4)
  • matthew73210 (3)
  • xconverge (3)
  • Fotguedes (2)

Top Issue Labels

  • enhancement (41)
  • bug (38)
  • help wanted (6)
  • documentation (3)
  • claude-completed (3)
  • good first issue (2)
  • pkg:diskmanager (2)
  • pkg:telemetry (2)
  • performance (2)
  • dependencies (1)
  • pkg:api (1)
  • pkg:datastore (1)
  • claude-error (1)
  • pkg:testing (1)
  • pkg:myaudio (1)
  • pkg:audiocore (1)
  • pkg:birdnet (1)
  • pkg:analysis (1)
  • pkg:conf (1)
  • pkg:notification (1)
  • automated (1)
  • test-failure (1)
  • already fixed (1)

Top Pull Request Labels

  • dependencies (252)
  • enhancement (234)
  • go (119)
  • bug (70)
  • pkg:telemetry (8)
  • pkg:datastore (7)
  • javascript (2)
  • pkg:monitor (1)

Package metadata

proxy.golang.org: github.com/tphakala/birdnet-go

  • Homepage: https://github.com/tphakala/birdnet-go
  • Documentation: https://pkg.go.dev/github.com/tphakala/birdnet-go#section-documentation
  • Licenses: other
  • Latest release: v0.6.4 (published 10 months ago)
  • Last Synced: 2025-12-16T20:08:04.714Z (9 days ago)
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 9.57%
    • Dependent repos count: 10.796%
    • Stargazers count: 11.701%
    • Average: 12.698%
    • Forks count: 18.724%

Dependencies

go.mod go
  • github.com/gen2brain/malgo v0.11.10
  • github.com/go-audio/audio v1.0.0
  • github.com/go-audio/riff v1.0.0
  • github.com/go-audio/wav v1.1.0
  • github.com/mattn/go-pointer v0.0.1
  • github.com/smallnest/ringbuffer v0.0.0-20230728150354-35801fa39d0e
  • github.com/tphakala/go-tflite v0.0.0-20231013114437-e78004b1b843
go.sum go
  • 492 dependencies
.github/workflows/docker-build.yml actions
  • actions/cache v4.0.1 composite
  • actions/checkout v4.1.1 composite
  • docker/build-push-action v5.1.0 composite
  • docker/login-action v3.0.0 composite
  • docker/setup-buildx-action v3.1.0 composite
Dockerfile docker
  • debian bookworm-slim build
  • golang 1.22.0-bookworm build
.github/workflows/golangci-lint.yml actions
  • actions/checkout v4 composite
  • actions/setup-go v5 composite
  • golangci/golangci-lint-action v4 composite
.github/workflows/release-build.yml actions
  • actions/checkout v4 composite
  • tphakala/go-release-action master composite
.github/workflows/golangci-test.yml actions
  • actions/checkout v4 composite
  • actions/setup-go v5 composite
  • actions/upload-artifact v2 composite
.github/workflows/nightly-build.yml actions
  • actions/checkout v4 composite
  • tphakala/go-release-action master composite

Score: -Infinity