Merlin is a free bird identification tool that uses both computer vision and computer audio to identify birds, with models that have been trained by bird watchers and ornithologists all over the world. It’s a powerful tool for seeing what might be around when all you can hear is a song somewhere in the trees.
The audio model that Merlin uses is its own, using a neural net to identify birds from their sounds, analyzing the spectrogram of their calls. It’s a standalone model and can be used even when your phone is offline, although that does limit what it can identify to about 700 mainly North American species. If you want to identify more and in more of the world, then you need to take a look at another Cornell project, BirdNET, from its K. Lisa Yang Center for Conservation Bioacoustics.
If you want to build a BirdNET system on a Raspberry Pi, there’s an easy enough way to get started, with the BirdNET-Pi project. All you need is a recent Raspberry Pi running a 64-bit version of the Bullseye release of Raspberry Pi OS. I set up my system with the latest Raspberry Pi OS Lite release, which is designed for headless systems and removes the UI components.
Once my system was set up, I used the instructions on the BirdNET-Pi GitHub to download and run the installer. It’s a simple script that loads the required packages and configures a Python environment for the BirdNET Lite machine-learning models. The system is designed to take a 15-second sound sample every minute or so, analysing it for bird sounds. The only additional hardware needed is a USB sound card and a microphone, as the Pi’s audio port doesn’t support a microphone.