The Birds

Tuesday, June 23, 2026 at 9:31 PM UTC

In times when you only can shake your head upon the world, you may need something positive. I am getting old (turning 54 apparently) and I recently discovered my interest in the fauna around my home, i.e. the birds. Believe it or not, though living in the middle of a mid-sized city, we have birds.

Using apps like Merlin I was able to identify which species is making the noise outside. It's more of a fun thing I admit.

I lately came across a project called BirdNet that takes this approach to another level. There are side projects you can use very easily if you have a Raspberry Pi 4 or newer with a decent amount of RAM. I don't have any of it, but stay tuned.

BirdNet (https://birdnet.cornell.edu/) is a project that delivers a web UI and local AI to recognize audio information to identify birds in your area. No internet connection needed!

Hence you cannot use this with old Raspis. The irony is the cause of prices going ballistic even with the base models of the Pi 4 with 4GB (which is the recommended model). On Amazon you can get a starter kit of this at about 150 bucks.

As I own 2 Macbooks with Apple Silicon, I thought: what better env to test this project using local AI.

My approach was (and still is) using the server side project running in a Docker container and the audio source being used from a stream. For testing this stream was generated with another Macbook using ffmpeg.

The server was running on my M4 Pro in Docker. Checkout https://github.com/tphakala/birdnet-go to get started.

I ended up with the final setup:

I set up the Docker-based project on a server I already run with Docker. No local audio devices used, I added audio sources in the web UI later using a stream.

The stream provided now comes from an old Raspi 3 Model B which is more than enough. This uses IceCast as stream provider which is fed by an ffmpeg stream using an external mic. Of course ChatGPT maneuvered me through all the steps and tests.

In the end it was quite straight forward and now I have the Pi-Mic outside and the stream of it being used to recognize the nature on my server.

The final step was of course to integrate this into Home Assistant. There is an integration area where you configure MQTT and even HA to being published es new entities. You need the MQTT integration in HA to use this.







Leave a comment right here