Skip to content

Offline live monitoring of bird vocals using the BirdNET artificial neural network. (Mirror)

License

Notifications You must be signed in to change notification settings

liske/BirdPROBE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BirdPROBE

BirdPROBE does offline live monitoring of bird vocals using the BirdNET artificial neural network.

Design

BirdPROBE consists of several components loosley connected through a MQTT broker:

  • birdprobe-detection - records audio and does detection based on BirdNET, publishes it's detections via MQTT
  • birdprobe-display - displays detections and status informations via external displays by listening to MQTT events
  • birdprobe-location - publishes location information via MQTT from different providers (none, static, gpsd)
  • birdprobe-record - records detection events TODO
  • birdprobe-sysclock - approximate system time from gpsd for budget gps dongles (for SBCs w/o RTC like Raspberry Pi)

All components can run on a single host. They also can run distributed or you could run multiple instances. By default the MQTT topics contains the $(hostname) string to distinguish component instances per node.

Status

This is project is in WIP and not ready to use, yet.

Usage

MQTT Broker

You need a MQTT broker. You can use a local mosquitto:

# apt-get install mosquitto mosquitto-clients

Install

Install external dependencies for birdnetlib and pyaudio python packages:

# apt-get install ffmpeg virtualenv portaudio19-dev

Clone this repository locally:

$ git clone https://codeberg.org/liske/BirdPROBE.git

Create a python3 virtualenv

$ cd BirdPROBE
$ virtualenv -p python3 venv
$ . venv/bin/activate

Install BirdPROBE:

$ pip install -e .

You can add optional features:

  • gps - gpsd based location provider
  • ws-epd- waveshare-epaper display support
$ pip install -e '.[gps,ws-epd]'

Run

The components provide appropriate commands in the virtualenv to start them.

Run the detection component:

$ birdprobe-detector -c /path/to/config.ini

Run the location provider:

$ birdprobe-location -c /path/to/config.ini

Monitor MQTT messages:

$ mosquitto_sub -v -t 'BirdPROBE/#'

TODO

  • provide some packaging
  • finish components
  • logging
  • more optimization for low power setups
    • use some binary rather than JSON message format
    • update prediction only if location has significant changes
    • update week_48 less often

About

Offline live monitoring of bird vocals using the BirdNET artificial neural network. (Mirror)

Topics

Resources

License

Stars

Watchers

Forks