Hintergrund
Wir leben aktuell im Anthropozän, einer Epoche in der der Mensch mit seinem Verhalten primär den weiteren Verlauf des Lebens auf der Erde bestimmt. In dieser Epoche können wir mit Mikroelektronik Funktionen unseres Gehirns nachbauen, live und in Farbe über tausende Kilometer hinweg kommunizieren und sogar Atome spalten. Gleichzeitig wissen wir aber nicht mal wie viele Insekten es so ungefähr in Deutschland gibt, welche Vögel, andere Insekten, weitere Tiere gerade wo leben und ggf. in ihrer Art oder am aktuellen Standort gefährdet oder sogar am aussterben sind: Sprich, wir sind ganz schon “menschbezogen”!
Das wäre alles ja nicht tragisch, wenn es um Steine oder Sandkörner ginge, die halt um uns herum sind. Leider geht es aber um das biologische System, in und von dem wir leben. Kein “nice to have”, sondern die essentielle, lebenswichtige Grundlage menschlichen Lebens. Das hätte mehr Aufmerksamkeit verdient, oder?
Bezeichnend ist, dass unser Wissen zum Status der Insektenmasse in Deutschland nicht von Audi oder Siemens finanzier wird, nicht mal von einer Uni stammt, sondern sehr lang auf Daten vom Entomologischen Verein Krefeld basierte. Diese Privatleuten, machen schon so lange citizen science, da gab es den Begriff in Deutschland noch gar nicht!
Die Langzeitbeobachtungen der Krefelder Studie zeigen erschreckend, wie die Insekten in Deutschland verschwinden. Keine staatliche Institution, keine Firma hat sich lange darum gekümmert, sondern Privatpersonen! Diese Insekten sind aber mit dem ganzen Ökosystem unsere Lebensgrundlage ohne die es unsere Umwelt so wie sie ist nicht gäbe.
Bevor wir also etwas gegen das Insektensterben, gegen Flächenrückgang, gegen Versiegelung usw. tun können, braucht es Diagnostik, sprich wir müssen wissen, was sich in unserm Biotop tut und ob / wie (schnell) sich Dinge verändern.
Let’s start with the birds!
Vielleicht kennt ihr BirdNet …
… oder habt es sogar auf eurem Handy (für iOS gibts das auch)! Eine App, mit der man Vogelstimmen aufnehmen kann, dann zur Analyse auf den BirdNet-Server schickt und das Klassifizierungsergebnis angezeigt bekommt. Übrigens entwickelt von Stefan Kahl Medieninformatik der TU Chemnitz zusammen mit der Cornell University, Projekt-website dort: https://birdnet.cornell.edu !
Ganz automatisch läuft das leider nicht, man muss etwas mitmachen …
- eine Aufnahme starten, man bekommt dabei das Spektrogramm der live und auf dem Gerät gerechneten FFT angezeigt, wählt dann
- den Bereich aus, in dem der Vogel singt für den man sich interessiert, schickt dann die Daten ab und
- bekommt nun die Klassifizierung zurück:
Die App ist also super nett, wenn man wissen will, welcher Vogel das ist, der gerade fuuuui fuuui singt, aber nicht um indirekt und 24/7 über den Gesang zu messen, welche Vögel gerade in der Nähe sind (und singen, small restriction, I know!).
Software
Netterweise hat sich Patrick McGuire unserem Problem angenommen und um den BirdNet-Algorithmus Code geschrieben, der einen RaspberryPi zu einem BirdPi macht:
Der RasPi nimmt 24/7 in default 15 Sekunden chunks Audio auf und analysiert das on device (!!) und speichert die erkannten Vogelarten in einer lokalen Datenbank. Der Pi hat auch ein Webinterface mit tollen features:
- Übersichtsgrafik
- Spektrogramme
- Abspielen der erkannte Vögel / Audio-Dateien
- usw.
Alles sehr gut gemacht (etwas schicker könnte es noch sein), läuft manchmal etwas hakelig auf dem RasPi.
Hardware
(noch nicht alles safe und getestet!!)
- RaspberryPi aktuell verwenden wir einen 4er mit 4 GB Speicher, das reicht gut aus, s. unten
- Mikro-SD-Karte, 64 GB
BirdNet-Pi speichert die Audio-Aufnahmen und löscht bei vollem Speicher alte Aufnahen, je größer die SD ist, desto weiter kann man in der Zeit zurück Aufnahmen verfolgen. - Kühler für RasPi
Armor Gehäuse - USB-Sound-Adapter / -Karte
von UGreen, diese ist für TRRS-Klinke - Mikrofon EM272
Smart Clippy, das hat eine TRRS-Klinke, falls Soundkarte nur TRS hat auch TRS-Mic besorgen oder mit Adapterstecker werkeln - Windschutz dazu
– Clippy Foam Shield - Veldshop.nl
– Windjammer for Clippy Microphone - Veldshop.nl - USB-C-Winkeladapter
damit man Netzteil überhaupt / besser im kleinen Gehäuse anschließen kann,
z.B. MoKo 90 Grad USB C Winkelstecker - USB-A-Winkelkabel
damit man Soundkarte überhaupt / besser im kleinen Gehäuse anschließen kann,
z.B. SIENOC L-Winkel-Adapter - Gehäuse
Spelsberg TK PC 1309-6-tm, ähnlich wie das von BOb, anderer Deckel - Montageplatte
Spelsberg TK MPI 1309 - 2x Kabeldurchführung M 16,
für Mikro und Stromversorgung, z.B: 4er-Set Wiska 10100469 Kabelverschraubung M16 - Druckausgleichselement mit
- Reduziergewinde
- 2x 20cm lange Kabelbinder, um RasPi an Platte zu befestigen
- 3-4 kurze Kabelbinder, um Kabel zu ordnen
Hinweise zur Hardware
-
Momentan (2024-03) läuft BirdNet-Pi auf Raspberry Pi OS Lite (64-bit) Bullseye, bei der neuen und aktuellen OS Version Bookworm kommen Fehlermeldungen!
-
Eine Grafik zur RasPi-Speicherauslastung im Betrieb, d.h. sogar ein 2 GB-Modell sollte reichen:
-
Ein nettes Video mit Infos zu omnidirektionalen vs. gerichteten Mikros und Testssond der oben empfohlenen Clippy EM272 (allerdings die Stereo-Version und vermutlich mit XLR statt Klinke)
https://www.youtube.com/watch?v=-QRin6d-ojg&t=654s -
Erster Tests mit PowerBanks
– volle 12 Ah Anker Prime Powerbank hat ziemlich genau 8 Stunden gehalten!
– 3/4 volle 20 Ah Anker 335 Powerbank hat ca. 11 Stunden gehalten!
Zusammenbau
[todo cg] Fotos Zusammenbau / endgültiges Gerät
Sinnvolle Verbesserungen und Erweiterungen
Settings anpassen
Unter tools > settings sollte man ein paar Änderungen vornehmen, bei …
- Model BirdNET_GLOBAL_6K_V2.4_Model_FP16 (2023)
auswählen, default ist da das legacy Modell aktiviert. - Location, hier den eigenen Standort angeben
- Localization als Database Language German auswählen, sonst bekommt man die Vogelnamen Englisch angezeigt.
Änderung der Top-10-Liste (auf Top-50 erweitert)
Auf der BirdNet-Pi Oberfläche gibt es auf der Start- / “Overview”- und auf der Daily Charts-Seite Top-10- bzw. Bottom-10-Listen (letzte nur auf Daily). Das ist etwas wenig und bei täglich um die 30+ erkannten Vogelarten sieht man nicht schnell alle erkannten Arten mit Häufigkeiten. Das kann man aber ändern, siehe:
Konkret habe ich hier mit dieser Datei gepatcht:
https://github.com/mcguirepr89/BirdNET-Pi/files/13863186/patch.txt
Per SSH auf dem RasPi einloggen oder über die Weboberfläche via Tools > Web Terminal
ins relevante Verzeichnis wechseln mit
cd ~/BirdNET-Pi/scripts/
better safe than sorry, backup der Datei
cp daily_plot.py daily_plot_backup.py
patch-file herunterladen
wget https://github.com/mcguirepr89/BirdNET-Pi/files/13863186/patch.txt
Datei patchen
patch daily_plot.py patch.txt
Zusätzliches WLAN / Handy-Hotspot einrichten
Die Konfiguration eines zweiten WLANs ist hilfreich, wenn man den RasPi zuhause und an anderer Stelle nutzen möchte. Ausserdem ist es für ein mobile Nutzung notwendig, siehe:
BirdNet-Pi läuft ja auf Raspberry Pi OS Lite (64-bit) Bullseye, dort sind die WLAN-Daten noch in der Datei wpa_supplicant.conf
gespeichert, die man unter /etc/wpa_supplicant/
findet. Zum einfachen Hinzufügen eines neuen WLANs nutzt man:
sudo -i
sudo wpa_passphrase "YourSSID" "YourPASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
exit
Nutzung mit Handy als WLAN-Hotspot
Möchte man den BirdNet-Pi mit einer Powerbank im Feld nutzen und sich währenddessen die Kategorisierungen anschauen, dann hat sich bei mir folgendes Vorgehen bewährt:
- Wie oben gezeigt Zugangsdaten des WLAN-Hotspot auf dem RasPi speichern.
- Leider ging es bei mir dann nicht, wie auf GitHub berichtet, einfach z.B. http://birdnetpi.local (oder was man konfiguriert hat) im Browser auf dem Handy aufzurufen. Bei mir ging es nur über die lokale IP, aber die muss man erst rausfinden:
- Daher BirdNet-Pi einmalig an Monitor und Tastatur anschließen und mit
ifconfig
die IP des RasPi herausfinden und notieren. - Nun kann man im Feld den RasPi nutzen und fürs monitoring das Handy bei aktiviertem Hotspot verwenden.
Das ist nur eine Methode, wie man im Feld auf den RasPi per Handy (also im gleichen lokalen WLAN) zugreifen kann, nicht remote übers “richtige” Internet! Für letzteres müsse der RasPi anders konfiguriert werden.
Windschutz
Wie wichtig ein Windschutz fürs Mikros ist, sieht man hier: Die gelben, sprich “lauten” Anteile im tiefen (unten) Bereich des Spektrums werden vom Wind verursacht und überlagern teilweise auch das auditive Geschehen weiter oben im Spektrum, was zu einer schlechteren oder im Zweifel auch keiner Erkennung führt:
Infos zur Biologie und Akustik des Vogelgesangs
[to do cg]
- Hardware-Liste final checken und ggf. ergänzen
- passt überhaupt alles so wie gedacht in das Gehäuse? :-)
- Fotos Zusammenbau / endgültiges Gerät
- Alternatives Mikro: EM272 in der Einbauvariante / in Kabeldurchführung eingelassen (!), wie cool ist das denn!? Rugged Mount Mono Primo EM272Z1 Microphone
- Datenbank-Export, s. birdnetpi export data - Google Suche
- testen, ob USB-Soundkarte nur Mono- oder auch Stereo-Eingang hat