Source code for BMBF InnoTruck demo of BirdNET.
Author: Stefan Kahl
Contact: stefan.kahl@cs.tu-chemnitz.de
Website: https://birdnet.cornell.edu/
Please cite as (PDF coming soon):
@phdthesis{kahl2019identifying, title={{Identifying Birds by Sound: Large-scale Acoustic Event Recognition for Avian Activity Monitoring}}, author={Kahl, Stefan}, year={2019}, school={Chemnitz University of Technology} } Clone the repository:
git clone https://github.com/kahst/BirdNET-Demo.git Install dependencies (you'll need to install Python3 and pip3 if not already provided with the OS image):
sudo pip3 install RPi.GPIO Start playback script after startup by adding this line to /etc/rc.local (before exit 0):
cd /home/pi/BirdNET-Demo && python3 pi/playback.py & Change the path to BirdNET-Demo accordingly if you used a different location. After reboot, the script will start automatically and play sounds when a button is pressed.
The script uses the following GPIO pins to play sounds:
Pin 11 GPIO.17: Common Starling (Sturnus vulgaris) Pin 12 GPIO.18: Common House-Martin (Delichon urbicum) Pin 13 GPIO.27: Common Linnet (Linaria cannabina) Pin 15 GPIO.22: European Pied Flycatcher (Ficedula hypoleuca) Pin 18 GPIO.23: Random species (Goldcrest, Yellowhammer, Eurasian Blue Tit, Common Chiffchaff, European Goldfinch) All sounds provided by Xeno-canto (www.xeno-canto.org).
Recordists: Marc Andreso, Lauri Hallikaine, Lars Edeniu, Jordi Calve, Veljo Runne, Elisa A. Ryber, Peter Boesma, Jorge Leitão, Karl-Birger Stran, Hans Mathev
Clone the repository:
git clone https://github.com/kahst/BirdNET-Demo.git Install Python 3 and pip:
sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install --upgrade pip Install TensorFlow:
sudo pip3 install tensorflow Install other Python 3 dependencies:
sudo apt-get install python3-numpy python3-scipy Install Python 2.7 and pip:
sudo apt install python2.7 python-pip sudo pip install --upgrade pip Install other Python 2.7 dependencies:
sudo apt install portaudio19-dev python-pyaudio sudo pip install bottle paste pyaudio Install Chromium Browser:
sudo apt install chromium-browser To start the demo after reboot, we need to add the startup script from this repository to the desktop autostart by creating a custom autostart entry with:
cd ~/.config/autostart/ sudo nano birdnet-startup.desktop Add the following content the startup file:
[Desktop Entry] Type=Application Exec=gnome-terminal --command "/home/birdnet/BirdNET-Demo/startup.sh" X-GNOME-Autostart-enabled=true Name=BirdNET Startup Script Save the contents and close the editor. Both, this entry and the startup.sh, assume that the demo resides in /home/birdnet/Birdnet-Demo. If this is not the case, make sure to change both files accordingly.
The startup script in this repository needs to be executable, we can change that with:
cd /home/birdnet/BirdNET-Demo sudo chmod +x startup.sh Additionally, we need to automatically log in on startup. We can achieve that by altering custom.conf with:
sudo nano /etc/gdm3/custom.conf We need to change
# Enabling automatic login # AutomaticLoginEnable = true # AutomaticLogin = user1 to
# Enabling automatic login AutomaticLoginEnable = true AutomaticLogin = yourusername Make sure to enter the correct username instead of yourusername.
After reboot, Ubuntu should launch the demo automatically.
Open terminal window and launch analyzer in Python 3:
python3 analyzer.py Open another terminal window or tab (Ctrl-Shift-T) and launch streaming server in Python 2:
python server.py Launch Chromium browser in kiosk mode with auto play enabled and navigate to the demo website to view audio and analysis data:
chromium-browser --kiosk --autoplay-policy=no-user-gesture-required --incognito --password-store=basic --app=http://localhost:8080 
