A realtime acoustic bird classification system for the Raspberry Pi 4B
Icon made by Freepik from www.flaticon.com
BirdNET-Pi is built on the TFLite version of BirdNET by @kahst using pre-built TFLite binaries by @PINTO0309 . It is able to recognize bird sounds from a USB sound card in realtime and share its data with the rest of the world.
Check out birds from around the world
- BirdWeather
- NatureStation.net in Johannesburg, South Africa
- BirdNET-Pi in Öringe, Tyresö, Sweden
- Private Nature Garden, Grevenbroich, Germany
- Norman, Oklahoma, United States
Currently listening in these countries . . . that I know of . . .
- The United States
- Germany
- South Africa
- France
- Austria
- Sweden
- Scotland
- Norway
- England
- Italy
- Finland
- Australia
If your installation isn't in one of the countries listed above, please let me know so that I can add your country to the list! Let me know either in a GitHub issue, or email me and let me know where your BirdNET-Pi is listening.
- 24/7 recording and BirdNET-Lite analysis
- BirdWeather integration -- you can request a BirdWeather ID from BirdNET-Pi's "Tools" > "Settings" page
- Web interface access to all data and logs provided by Caddy
- Web Terminal
- Tiny File Manager
- FTP server included
- Automatic extraction of detected data (creating audio clips of detected bird sounds)
- Spectrograms available for all extractions
- SQLite3 Database
- Live audio stream
- Adminer database maintenance
- phpSysInfo
- New species mobile notifications from Pushed.co (for iOS users only)
- Localization supported
- A Raspberry Pi 4B or Raspberry Pi 3B+ (The 3B+ must run on RaspiOS-ARM64-Lite)
- An SD Card with the 64-bit version of RaspiOS installed (please use Bullseye) -- Lite is recommended, but the installation works on RaspiOS-ARM64-Full as well. (Download the latest here)
- A USB Microphone or Sound Card
A comprehensive installation guide is available here.
The system can be installed with:
curl -s https://raw.githubusercontent.com/mcguirepr89/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").log
that you can email me if you encounter any issues during installation.
The BirdNET-Pi can be accessed from any web browser on the same network:
- http://birdnetpi.local
- Default Basic Authentication Username: birdnet
- Password is empty by default. Set this in "Tools" > "Settings" > "Advanced Settings"
Please take a look at the wiki and discussions for information on
- making your installation public
- backing up and restoring your database
- adjusting your sound card settings
- suggested USB microphones
- building your own microphone
- privacy concerns and options
- beta testing
- and more!
Since the change in RaspiOS that has discontinued the default pi
user, the recommended update instructions for installations that do have the default pi
user:
- Go to "Tools" > "Web Terminal"
- Type
git pull
- Go to "Tools" > "System Controls" > "Update" > "OK"
/usr/local/bin/uninstall.sh && cd ~ && rm -drf BirdNET-Pi
I want this to work for you! If you have any trouble, or if my documentation is wrong, I'd like to get things right.
If you encounter any issues at any point, or have questions, comments, concerns, ideas, or want to share something, please take a look through the open and closed issues and the community discussions. PLEASE feel invited to open a new issue if you don't find the help you need. Likewise, please accept my invitation to start a new discussion to get a conversation started around your topic.
If you are not a GitHub user and need help, you can email me, but I hope you will consider making a GitHub account so that your questions can be answered here for others as well. I expect this project will attract more bird-enthusiasts than Linux-enthusiasts, so please don't feel like any question is too novice or, pardon the phrase, stupid to ask. I want to help!
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.
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% |
For some reason, the system seems to run more efficiently and the birds sound better when you and Sponsor the project :)
Expect FULL internationalization options post-installation for the following languages:
- German
- Swedish
- French
- Spanish