Birdsong Audio Streaming + Automatic Species Identification

While playing with my new IP camera, I noticed that it was picking up the bird songs quite well. I kept the stream open in the background while working in my office, and after a while I thought, why not make that a permanent feature of my dashboard: a little audio player just for streaming the birdsong from the garden?
Apparently there is no Audio Stream Card for HA or anything like that yet, so my friend & I set out on a journey to create the greatest birdsong streaming card in history (so far). There were a few setbacks along the way, but in the end it was a success and the card actually works as intended.

After that was done, I remembered I had once bookmarked a project called BirdNET-Pi, which allowed you to automatically identify the bird species around you with a Raspberry Pi and a microphone. Coincidentally, I found out there is now also BirdNet_Analyzer 2.0, a Python based acoustic analyzer, which can identify 6,000 different bird species. Naturally, I had to install that one in a local Docker container and link it to my IP camera on one end and Home Assistant on the other end.

It was a somewhat difficult install, and I was about to trash the idea altogether, but then suddenly it worked, and now I am very proud to share the result here:

Pretty pleased with how this turned out! Let me know if you’d like to know more about the setup or have any questions.

3 Likes

I love this. I don’t have a cam or mic outside so I think I would not be able to use it.
I did the opposite and rebuilt a “bird clock” that plays a random bird song at every full hour.

FYI BirdNet-go can support camera audio streams (not sure about BirdNET-pi).