The @birdy/recorder
service is responsible for collecting audio from a single microphone in a specific location.
- You should deploy as many
@birdy/recorder
services as you need. - View the ๐ Recorder Service Docs for details about features, configuration, deployment, etc.
The @birdy/collector
service is responsible for gathering the raw recordings produced by the @birdy/recorder
services and storing them in Minio.
- You should only need to deploy a single
@birdy/collector
instance. - View the ๐ Collector Service Docs for details about features, configuration, deployment, etc.
This is a future machine learning service that will use BirdNET to identify birds via the recordings recorded by @birdy/recorder
and collected by @birdy/collector
.
- View the ๐ Analyzer Service Docs for details about features, configuration, deployment, etc.
This is a future api to interact with the Birdy data.
This is a future web ui/app to view the data collected by Birdy.
To develop Birdy on macOS you'll need to install the pulseaudio
package to allow us to listen to the microphone inside of Docker.
brew install pulseaudio
vim /opt/homebrew/Cellar/pulseaudio/17.0/etc/pulse/default.pa
- find
load-module module-native-protocol-tcp
and uncomment it, and then addauth-ip-acl=127.0.0.1;192.168.0.0/24
after it, example:### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
- find
- start the
pulseaudio
server by runningpulseaudio --exit-idle-time=-1 --daemon