A realtime acoustic bird classification system for the Raspberry Pi 4B, 3B+, and 0W2
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 microphone or sound card in realtime and share its data with the rest of the world.
Check out birds from around the world
- BirdWeather
- Johannesburg, South Africa
- Öringe, Tyresö, Sweden
- Norman, Oklahoma, United States
- Nijmegen, the Netherlands
- Murrysville, Pennsylvania, United States
- Berowra, New South Wales, Australia
- Fairview, Tennessee, United States
- Dundas, Ontario, Canada
- Bungendore, New South Wales, Australia
Currently listening in these countries . . . that I know of . . .
- The United States
- Germany
- South Africa
- France
- Austria
- Sweden
- Scotland
- Norway
- England
- Italy
- Finland
- Australia
- Canada
- Switzerland
- Romania
- Spain
- New Zealand
- Russia
- Croatia
- Belgium
- Israel
- Ireland
- Denmark
- 24/7 recording and BirdNET-Lite analysis
- Automatic extraction of detected data (creating audio clips of detected bird sounds)
- Spectrograms available for all extractions
- Live audio stream & spectrogram
- 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
- GoTTY Web Terminal
- Tiny File Manager
- FTP server included
- SQLite3 Database
- Adminer database maintenance
- phpSysInfo
- Apprise Notifications supporting 70+ notification platforms
- Localization supported
- A Raspberry Pi 4B, Raspberry Pi 3B+, or Raspberry Pi 0W2 (The 3B+ and 0W2 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. Downloads available within the Raspberry Pi Imager.
- A USB Microphone or Sound Card
A comprehensive installation guide is available here. Raspberry Pi 0W2 installation guide 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
.
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!
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.
/usr/local/bin/uninstall.sh && cd ~ && rm -drf BirdNET-Pi
Having trouble or have an idea? Submit an issue for trouble and a discussion for ideas.
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.
- Marie Lelouche's Out of Spaces using BirdNET-Pi in post-sculpture VR! Press Kit
- Research on noded BirdNET-Pi networks for farming
- PixCams Build Guide
- Core-Electronics Build Article
- RaspberryPi.com Blog Post
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 an extra Raspberry Pi 4B lying around? Here's an idea!