A realtime acoustic bird classification system for the Raspberry Pi 5, 4B, 400, 3B+, and 0W2
Icon made by Freepik from www.flaticon.com
I've been building on mcguirepr89's most excellent work to further update and improve BirdNET-Pi. Maybe someone will find it useful.
Changes include:
!! note: see 'Migrating' on how to migrate from mcguirepr89
BirdNET-Pi is built on the BirdNET framework by @kahst using pre-built TFLite binaries by @PINTO0309 . It is able to recognize bird sounds from a USB microphone or sound card in realtime and share its data with the rest of the world.
Check out birds from around the world
Currently listening in these countries . . . that I know of . . .
A comprehensive installation guide is available here. This guide is slightly out-dated: make sure to pick Bookworm, also the curl command is still pointing to mcguirepr89's repo.
Please note that installing BirdNET-Pi on top of other servers is not supported. If this is something that you require, please open a discussion for your idea and inquire about how to contribute to development.
Raspberry Pi 3B[+] and 0W2 installation guide available here
The system can be installed with:
curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash
The installer takes care of any and all necessary updates, so you can run that as the very first command upon the first boot, if you'd like.
The installation creates a log in $HOME/installation-$(date "+%F").txt
.
The BirdNET-Pi can be accessed from any web browser on the same network:
Please take a look at the wiki and discussions for information on
Use the web interface and go to "Tools" > "System Controls" > "Update." If you encounter any issues with that, or suspect that the update did not work for some reason, please save its output and post it in an issue where we can help.
This script is primary meant for migrating your data for one system to another. Since the time required to create or restore a backup depends on the size of the data set and the speed of the storage, this could take quite a while.
These examples assume the backup medium is mounted on /mnt
To backup:
./scripts/backup_data.sh -a backup -f /mnt/birds/backup-2024-07-09.tar
To restore:
./scripts/backup_data.sh -a restore -f /mnt/birds/backup-2024-07-09.tar
/usr/local/bin/uninstall.sh && cd ~ && rm -drf BirdNET-Pi
Before switching, make sure your installation is fully up-to-date. Also make sure to have a backup, that is also the only way to get back to the original BirdNET-Pi. Please note that upgrading your underlying OS to Bookworm is not going to work. Please stick to Bullseye. If you do want Bookworm, you need to start from a fresh install and copy back your data. (remember the backup!)
Run these commands to migrate to this repo:
git remote remove origin
git remote add origin https://github.com/Nachtzuster/BirdNET-Pi.git
./scripts/update_birdnet.sh
Hint: A lot of weird problems can be solved by simply restarting the core services. Do this from the web interface "Tools" > "Services" > "Restart Core Services" Having trouble or have an idea? Submit an issue for trouble and a discussion for ideas. Please do not submit an issue as a discussion -- the issue tracker solicits information that is needed for anyone to help -- discussions are not for issues*.
PLEASE search the repo for your issue before creating a new one. This repo has nothing to do with the validity of the detection results, so please do not start any issues around "False positives."
Please join a Discussion!! and please join BirdWeather!! I hope that if you find BirdNET-Pi has been worth your time, you will share your setup, results, customizations, etc. HERE and will consider making your installation public.
BirdNET-Pi can also be run as a Homeassistant addon through docker. For more information : https://github.com/alexbelgium/hassio-addons/blob/master/birdnet-pi/README.md
The bird names are in English by default, but other localized versions are available thanks to the wonderful efforts of @patlevin. Use the web interface's "Tools" > "Settings" and select your "Database Language" to have the detections in your language.
Current database languages include the list below: | Language | Missing Species out of 6,362 | Missing labels (%) |
---|---|---|---|
Afrikaans | 5774 | 90.76% | |
Catalan | 544 | 8.55% | |
Chinese | 264 | 4.15% | |
Croatian | 370 | 5.82% | |
Czech | 683 | 10.74% | |
Danish | 460 | 7.23% | |
Dutch | 264 | 4.15% | |
Estonian | 3171 | 49.84% | |
Finnish | 518 | 8.14% | |
French | 264 | 4.15% | |
German | 264 | 4.15% | |
Hungarian | 2688 | 42.25% | |
Icelandic | 5588 | 87.83% | |
Indonesian | 5550 | 87.24% | |
Italian | 524 | 8.24% | |
Japanese | 640 | 10.06% | |
Latvian | 4821 | 75.78% | |
Lithuanian | 597 | 9.38% | |
Norwegian | 325 | 5.11% | |
Polish | 265 | 4.17% | |
Portuguese | 2742 | 43.10% | |
Russian | 808 | 12.70% | |
Slovak | 264 | 4.15% | |
Slovenian | 5532 | 86.95% | |
Spanish | 348 | 5.47% | |
Swedish | 264 | 4.15% | |
Thai | 5580 | 87.71% | |
Ukrainian | 646 | 10.15% |
Are you a lucky ducky with a spare Raspberry Pi? Try Folding@home!