Add vocalization classification to your BirdNET-Pi: song, call, or alarm
๐ณ๐ฑ Nederlandse versie hieronder | ๐ฌ๐ง English version first
- Community Feedback System: Help improve the models! When you rate a classification (๐/๐), your feedback is now shared (opt-in) to help train better models
- Spectrogram Preview: Click on any detection to see its spectrogram visualization
- Easy Updates: New
update.shscript for one-command updates - Confidence Filtering: Slider to filter detections by confidence level
- Export Options: Export your data as CSV or JSON
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/update.sh)Note: We hope this feature will eventually be integrated into BirdNET-Pi itself. Until then, this addon provides the functionality as a separate service that works alongside your existing BirdNET-Pi installation.
You need a working BirdNET-Pi installation first!
This addon does NOT replace BirdNET-Pi. It adds vocalization type classification to an existing BirdNET-Pi system.
| Component | What it does | Required? |
|---|---|---|
| BirdNET-Pi | Identifies bird species from audio | Yes, install first |
| This addon | Identifies vocalization type (song/call/alarm) | Optional |
Your Raspberry Pi
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ BirdNET-Pi (required) This Addon (optional) โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 1. Microphone โ โ 4. Reads birds.db โ โ
โ โ 2. Records audio โ โ 5. Loads audio file โ โ
โ โ 3. "It's a Robin!" โโโโโโโโโถโ 6. CNN analysis โ โ
โ โ โ birds.db โ โ 7. "It's a song!" โ โ
โ โ โ โ โ vocalization.dbโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ โ
โ โฒ โ โ
โ โ โผ โ
โ Never modified Web Viewer :8088 โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
When BirdNET-Pi detects a bird, this addon classifies the type of vocalization:
| Detection | Without Addon | With Addon |
|---|---|---|
| American Robin | "American Robin detected" | "American Robin - song (93%)" |
| Merel | "Merel gedetecteerd" | "Merel - zang (91%)" |
| Blue Jay | "Blue Jay detected" | "Blue Jay - alarm (87%)" |
- Song/Zang/Gesang: Bird is marking territory or attracting a mate
- Call/Roep/Ruf: Contact calls, flock communication
- Alarm: Predator nearby! (cat, hawk, etc.)
This downloads the script first, then runs it - allowing you to select your region from the menu:
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh)You will see a menu:
1) North America - English (46 species, ~75 MB)
2) Europe - Dutch/Nederlands (219 species, ~8 GB)
3) Europe - German/Deutsch (219 species, ~8 GB)
4) Europe - English (219 species, ~8 GB)
Enter choice [1-4]:
If you know which region you want, you can specify it directly. Note the bash -s -- --region X syntax:
# North America - English
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 1
# Europe - Dutch
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 2
# Europe - German
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 3
# Europe - English
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 4Note: Piping directly to bash (
curl ... | bash) without--regionwill NOT work interactively. Use thebash <(curl ...)syntax for interactive installs.
- Find your BirdNET-Pi installation
- Ask for your region and language (if not specified)
- Download the appropriate models (~75 MB for USA, ~7 GB for Europe)
- Set up the classification service
- Set up the web viewer
That's it! Classification starts automatically.
This happens when you pipe directly to bash without specifying a region:
# This will NOT work:
curl -sSL .../install.sh | bashSolution: Use one of these methods:
-
Interactive (recommended):
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh) -
Non-interactive with region:
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 2
Make sure you're using the correct URL. The install script is at:
https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh
Check the logs:
journalctl -u birdnet-vocalization -eCommon issues:
- BirdNET-Pi not found: Specify path with
--birdnet-dir - Models not downloaded: Check
/opt/birdnet-vocalization/models/
After installation, view your results at:
http://<your-pi-ip>:8088
- Real-time classification results with audio playback
- Statistics (total songs, calls, alarms, model coverage)
- Charts: vocalizations over time, top 10 species
- Filter by species or vocalization type
- Feedback buttons (๐/๐) to rate classification accuracy
- Weekly trends: Compare song/call/alarm counts vs last week
- Alerts: Automatic detection of unusual patterns
- Alarm spikes (300%+ increase in 24h)
- Unusual silence (normally active species not heard)
- Hourly activity: When are birds most active? (dawn chorus visible!)
- Species breakdown: % song/call/alarm per species (top 15)
Language: English (song/call/alarm)
American Robin, American Crow, American Goldfinch, Baltimore Oriole, Barn Swallow, Black-capped Chickadee, Blue Jay, Brown-headed Cowbird, Brown Thrasher, Canada Goose, Carolina Chickadee, Carolina Wren, Cedar Waxwing, Chipping Sparrow, Common Grackle, Common Yellowthroat, Dark-eyed Junco, Downy Woodpecker, Eastern Bluebird, Eastern Meadowlark, Eastern Phoebe, Eastern Towhee, European Starling, Gray Catbird, House Finch, House Sparrow, Indigo Bunting, Killdeer, Mallard, Mourning Dove, Northern Cardinal, Northern Flicker, Northern Mockingbird, Pine Warbler, Purple Finch, Red-bellied Woodpecker, Red-tailed Hawk, Red-winged Blackbird, Scarlet Tanager, Song Sparrow, Tree Swallow, Tufted Titmouse, White-breasted Nuthatch, White-throated Sparrow, Wood Thrush, Yellow-rumped Warbler
Languages available:
- Dutch/Nederlands: zang/roep/alarm
- German/Deutsch: Gesang/Ruf/Alarm
- English: song/call/alarm
Trained with "ultimate" architecture for improved accuracy.
Includes 24 Nordic/Scandinavian species:
- Owls: Great Grey Owl, Ural Owl, Tengmalm's Owl, Pygmy Owl, Snowy Owl, Northern Hawk-Owl
- Grouse: Western Capercaillie, Black Grouse, Rock Ptarmigan, Willow Ptarmigan
- Crossbills: Two-barred Crossbill, Parrot Crossbill
- Corvids: Siberian Jay, Spotted Nutcracker
- Others: Tree Sparrow, Siberian Tit, White-throated Dipper, Three-toed Woodpecker, White-backed Woodpecker, Red-throated Pipit, Lapland Longspur, Rustic Bunting, Common Rosefinch, Red-breasted Flycatcher
# Check classification service
sudo systemctl status birdnet-vocalization
# Check web viewer
sudo systemctl status birdnet-vocalization-viewer
# View live logs
journalctl -u birdnet-vocalization -f
# Restart services
sudo systemctl restart birdnet-vocalization
sudo systemctl restart birdnet-vocalization-viewerEdit the service if needed:
sudo systemctl edit birdnet-vocalizationOptions:
--birdnet-dir- Path to BirdNET-Pi (default: /home/pi/BirdNET-Pi)--models-dir- Path to models (default: /opt/birdnet-vocalization/models)--interval- Check interval in seconds (default: 30)--language- Output language: en, nl, de (default: en)
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/uninstall.sh | bashYour BirdNET-Pi installation will not be affected.
- BirdNET-Pi (working installation) - Install first
- Python 3.10+
- Disk space: ~100 MB (North America) or ~8 GB (Europe)
- Raspberry Pi 4 or newer recommended
We hope vocalization classification will become a native feature in BirdNET-Pi. If you'd like to see this happen, consider:
- Sharing your experience with this addon
- Requesting the feature in BirdNET-Pi discussions
Until then, this addon provides a safe, non-invasive way to add vocalization classification.
Your feedback helps improve the models for everyone!
- When you click ๐ or ๐ on a classification, it's saved locally
- If you enable "Share Feedback" (๐ค button), anonymous feedback is sent to help improve models
- No personal data is shared - only species, predicted type, and whether it was correct
See community statistics at: feedback.ronnyhullegie.nl:8089
- Total feedback from all installations
- Problem species that need model improvement
- Model accuracy statistics
We welcome contributions! Use the issue templates for:
- ๐ Bug Report: Something not working? Report it
- ๐ฆ Species Request: Want a new bird species? Request it
- ๐ Model Feedback: Classification wrong? Let us know
Training code: See emsn-vocalization
- Training data: Xeno-canto bird sound database
- Inspired by: BirdNET-Pi
- Author: Ronny Hullegie
MIT License - free to use, modify, and distribute.
Voeg vocalisatie classificatie toe aan je BirdNET-Pi: zang, roep of alarm
- Community Feedback Systeem: Help de modellen verbeteren! Als je een classificatie beoordeelt (๐/๐), wordt je feedback gedeeld (opt-in) om betere modellen te trainen
- Spectrogram Preview: Klik op een detectie om het spectrogram te zien
- Makkelijk Updaten: Nieuw
update.shscript voor updates met รฉรฉn commando - Betrouwbaarheid Filter: Slider om detecties te filteren op betrouwbaarheid
- Export Opties: Exporteer je data als CSV of JSON
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/update.sh)Je hebt eerst een werkende BirdNET-Pi installatie nodig!
Deze addon vervangt BirdNET-Pi NIET. Het voegt vocalisatie type classificatie toe aan een bestaand BirdNET-Pi systeem.
| Component | Wat het doet | Vereist? |
|---|---|---|
| BirdNET-Pi | Identificeert vogel soort uit audio | Ja, eerst installeren |
| Deze addon | Identificeert vocalisatie type (zang/roep/alarm) | Optioneel |
Jouw Raspberry Pi
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ BirdNET-Pi (vereist) Deze Addon (optioneel) โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 1. Microfoon โ โ 4. Leest birds.db โ โ
โ โ 2. Neemt audio op โ โ 5. Laadt audiobestandโ โ
โ โ 3. "Het is een โโโโโโโโโถโ 6. CNN analyse โ โ
โ โ Merel!" โ โ 7. "Het is zang!" โ โ
โ โ โ birds.db โ โ โ vocalization.dbโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ โ
โ โฒ โ โ
โ โ โผ โ
โ Wordt nooit aangepast Web Viewer :8088 โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Wanneer BirdNET-Pi een vogel detecteert, classificeert deze addon het type vocalisatie:
| Detectie | Zonder Addon | Met Addon |
|---|---|---|
| Merel | "Merel gedetecteerd" | "Merel - zang (91%)" |
| Koolmees | "Koolmees gedetecteerd" | "Koolmees - roep (87%)" |
| Gaai | "Gaai gedetecteerd" | "Gaai - alarm (89%)" |
- Zang: Vogel markeert territorium of trekt partner aan
- Roep: Contact roepen, communicatie binnen groep
- Alarm: Roofdier in de buurt! (kat, sperwer, etc.)
Dit downloadt het script eerst, dan voert het uit - zodat je je regio kunt kiezen:
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh)Je ziet dan een menu:
1) North America - English (46 species, ~75 MB)
2) Europe - Dutch/Nederlands (219 species, ~8 GB)
3) Europe - German/Deutsch (219 species, ~8 GB)
4) Europe - English (219 species, ~8 GB)
Enter choice [1-4]:
Als je al weet welke regio je wilt, kun je het direct specificeren. Let op de bash -s -- --region X syntax:
# Europa - Nederlands
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 2
# Europa - Duits
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 3
# Europa - Engels
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 4
# Noord-Amerika - Engels
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 1Let op: Direct pipen naar bash (
curl ... | bash) zonder--regionwerkt NIET interactief. Gebruik debash <(curl ...)syntax voor interactieve installaties.
- Je BirdNET-Pi installatie vinden
- Vragen naar je regio en taal (indien niet opgegeven)
- De juiste modellen downloaden (~75 MB voor USA, ~7 GB voor Europa)
- De classificatie service instellen
- De web viewer instellen
Klaar! Classificatie start automatisch.
Dit gebeurt als je direct naar bash piped zonder regio:
# Dit werkt NIET:
curl -sSL .../install.sh | bashOplossing: Gebruik een van deze methodes:
-
Interactief (aanbevolen):
bash <(curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh) -
Non-interactief met regio:
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh | bash -s -- --region 2
Zorg dat je de juiste URL gebruikt. Het install script staat op:
https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/install.sh
Check de logs:
journalctl -u birdnet-vocalization -eVeelvoorkomende problemen:
- BirdNET-Pi niet gevonden: Specificeer pad met
--birdnet-dir - Modellen niet gedownload: Check
/opt/birdnet-vocalization/models/
Na installatie, bekijk je resultaten op:
http://<je-pi-ip>:8088
- Real-time classificatie resultaten met audio afspelen
- Statistieken (totaal zang, roep, alarm, model dekking)
- Grafieken: vocalisaties over tijd, top 10 soorten
- Filter op soort of vocalisatie type
- Feedback knoppen (๐/๐) om classificatie nauwkeurigheid te beoordelen
- Wekelijkse trends: Vergelijk zang/roep/alarm met vorige week
- Alerts: Automatische detectie van ongewone patronen
- Alarm pieken (300%+ toename in 24u)
- Ongebruikelijke stilte (normaal actieve soort niet gehoord)
- Activiteit per uur: Wanneer zijn vogels het meest actief? (ochtendkoor zichtbaar!)
- Soort breakdown: % zang/roep/alarm per soort (top 15)
Beschikbare talen:
- Nederlands: zang/roep/alarm
- Duits/Deutsch: Gesang/Ruf/Alarm
- Engels/English: song/call/alarm
Getraind met "ultimate" architectuur voor verbeterde nauwkeurigheid.
Inclusief 24 Noordse/Scandinavische soorten:
- Uilen: Laplanduil, Oeraluil, Ruigpootuil, Dwerguil, Sneeuwuil, Sperweruil
- Hoenders: Auerhoen, Korhoen, Alpensneeuwhoen, Moerassneeuwhoen
- Kruisbekken: Witbandkruisbek, Grote Kruisbek
- Kraaiachtigen: Taigagaai, Notenkraker
- Overig: Ringmus, Bruinkopmees, Waterspreeuw, Drieteenspecht, Witrugspecht, Roodkeelpieper, IJsgors, Bosgors, Roodmus, Kleine Vliegenvanger
Taal: Engels (song/call/alarm)
# Check classificatie service
sudo systemctl status birdnet-vocalization
# Check web viewer
sudo systemctl status birdnet-vocalization-viewer
# Bekijk live logs
journalctl -u birdnet-vocalization -f
# Herstart services
sudo systemctl restart birdnet-vocalization
sudo systemctl restart birdnet-vocalization-viewerBewerk de service indien nodig:
sudo systemctl edit birdnet-vocalizationOpties:
--birdnet-dir- Pad naar BirdNET-Pi (standaard: /home/pi/BirdNET-Pi)--models-dir- Pad naar modellen (standaard: /opt/birdnet-vocalization/models)--interval- Check interval in seconden (standaard: 30)--language- Output taal: en, nl, de (standaard: en)
curl -sSL https://raw.githubusercontent.com/RonnyCHL/birdnet-vocalization/master/uninstall.sh | bashJe BirdNET-Pi installatie wordt niet aangetast.
- BirdNET-Pi (werkende installatie) - Eerst installeren
- Python 3.10+
- Schijfruimte: ~100 MB (Noord-Amerika) of ~8 GB (Europa)
- Raspberry Pi 4 of nieuwer aanbevolen
We hopen dat vocalisatie classificatie een native functie wordt in BirdNET-Pi. Als je dit wilt ondersteunen:
- Deel je ervaring met deze addon
- Vraag de functie aan in BirdNET-Pi discussions
Tot die tijd biedt deze addon een veilige, niet-invasieve manier om vocalisatie classificatie toe te voegen.
Jouw feedback helpt de modellen verbeteren voor iedereen!
- Als je ๐ of ๐ klikt op een classificatie, wordt het lokaal opgeslagen
- Als je "Feedback Delen" (๐ค knop) inschakelt, wordt anonieme feedback verstuurd om modellen te verbeteren
- Geen persoonlijke data wordt gedeeld - alleen soort, voorspeld type, en of het correct was
Bekijk community statistieken op: feedback.ronnyhullegie.nl:8089
- Totaal feedback van alle installaties
- Probleemsoorten die model verbetering nodig hebben
- Model nauwkeurigheid statistieken
We verwelkomen bijdragen! Gebruik de issue templates voor:
- ๐ Bug Melding: Iets werkt niet? Meld het
- ๐ฆ Soort Aanvraag: Wil je een nieuwe vogelsoort? Vraag het aan
- ๐ Model Feedback: Classificatie fout? Laat het weten
Training code: Zie emsn-vocalization
- Training data: Xeno-canto vogel geluiden database
- Geรฏnspireerd door: BirdNET-Pi
- Auteur: Ronny Hullegie
MIT License - vrij te gebruiken, aan te passen en te verspreiden.