picture of a brambling (a small bird), with "BirdNET-Pi" written above it

Neural Network Identifies Bird Calls, Even On Your Pi

Recently, we’ve stumbled upon the extensive effort that is the BirdNET research platform. BirdNET uses a neural network to identify birds by the sounds they make, and is a joint project between the Cornell Lab of Ornithology and the Chemnitz University of Technology. What strikes us is – this project is impressively featureful and accessible for a variety of applications. No doubt, BirdNET is aiming to become a one-stop shop for identifying birds as they sing.

There’s plenty of ways BirdNET can help you. Starting with likely the most popular option among us, there are iOS and Android apps – giving the microphone-enabled “smart” devices in our pockets a feature even the most app-averse hackers can respect. However, the BirdNET team also talks about bringing sound recognition to our browsers, Raspberry Pi and other SBCs, and even microcontrollers. We can’t wait for someone to bring BirdNET to a RP2040! The code’s open-source, the models are freely available – there’s hardly a use case one couldn’t cover with these.

Screenshot of the BirdNET-Pi interface, showing a chart of bird chirp occurences, and a spectrogram below itAbout that Raspberry Pi version! There’s a sister project called BirdNET-Pi – it’s an easy-to-install software package intended for the Raspberry Pi OS. Having equipped your Pi with a USB sound card, you can make it do 24/7 recording and analysis using a “lite” version of BirdNET. Then, you get a web interface you can log into and see bird sounds identified in real-time. Not just that – BirdNET-Pi also processes the sounds and creates spectrograms, keeps the sound in a database, and can even send you notifications.

The BirdNET-Pi project is open, too, of course. Not just that – the BirdNET-Pi team emphasizes everything being fully local, unless you choose otherwise, and perhaps decide to share it with others. Many do make their BirdNET-Pi instances public, and there’s a lovely interactive map that shows bird sounds all across the world!

BirdNET is, undoubtedly, a high-effort project – and a shining example of what a dedicated research team can do with a neural network and an admirable goal in mind. For many of us who feel joy when we hear birds outside, it’s endearing to know that we can plug a USB sound card into our Pi and learn more about them – even if we can’t spot them or recognize them by sight just yet. We’ve covered bird sound recognition on microcontrollers before – also using machine learning.

A bird-shaped yellow PCB with legs wound out of wire, perched on its creator's arm. The bird has a lot of through-hole components on it, as well as an assortment of different-colored LEDs.

Printed Circuit Bird Family Calls For Us To Consider Analog

On our favourite low-attention-span content site, [Kelly Heaton] has recently started sharing a series of “Printed Circuit Birds”. These are PCBs shaped like birds, looking like birds and chirping like birds – and they are fully analog! The sound is produced by a network of oscillators feeding into each other, and, once tuned, is hardly distinguishable from the bird songs you might hear outside your window. Care and love was put into making this bird life-like – it perches on Kelly’s arm with legs woven out of single-strand wire and talons made out of THT resistors, in the exact same way you would expect a regular bird to sit on your arm – that is, if you ever get lucky enough. It’s not just one bird – there’s a family of circuit animals, including a goose, a crow and even a cricket.

Why did these animals came to life – metaphorically, but also, literally? There must be more to a non-ordinary project like this, and we asked Kelly about it. These birds are part of her project to explore models of consciousness in ways that we typically don’t employ. Our habit is to approach complex problems in digital domains, but we tend to miss out on elegance and simplicity that analog circuits are capable of. After all, even our conventional understanding of a neural network is a matrix of analog coefficients that we then tune, a primitive imitation of how we assume human brains to work – and it’s this “analog” approach that has lately moved us ever so closer to reproducing “intelligence” in a computer.

Kelly’s work takes a concept that would have many of us get the digital toolkit, and makes it wonderfully life-like using a small bouquet of simple parts. It’s a challenge to our beliefs and approaches, compelling in its grace, urging us to consider and respect analog circuits more when it comes to modelling consciousness and behaviours. If it’s this simple to model sounds and behaviour of a biological organism, a task that’d have us writing DSP and math code to replicate on a microcontroller – what else are we missing from our models?

Kelly has more PCBs to arrive soon in preparation for her NYC exhibit in February, and will surely be posting updates on her Twitter page! We’ve covered her work before, and if you haven’t seen it yet, her Supercon 2019 talk on Electronic Naturalism would be a great place to start! Such projects tend to inspire fellow hackers to build other non-conventional projects, and this chirping pendant follows closely in Kelly’s footsteps! The direction of this venture reminds us a lot of BEAM robotics, which we’ve recently reminisced upon as something that’s impacted generations of hackers to look at electronics we create through an entirely different lens.

Continue reading “Printed Circuit Bird Family Calls For Us To Consider Analog”

Recognising Bird Sounds With A Microcontroller

Machine learning is an incredible tool for conservation research, especially for scenarios like long term observation, and sifting through massive amounts of data. While the average Hackaday reader might not be able to take part in data gathering in an isolated wilderness somewhere, we are all surrounded by bird life. Using an Arduino Nano 33 BLE Sense and an online machine learning tool, a team made up of [Errol Joshua], [Ajith KJ], [Mahesh Nayak], and [Supriya Nickam] demonstrate how to set up an automated bird call classifier.

The Arduino Nano 33 BLE Sense  is a fully featured little dev board that features the very capable NRF52840 microcontroller with Bluetooth Low Energy, and a variety of onboard sensors, including a microphone. Training a machine learning model might seem daunting to many people, but online services like Edge Impulse makes the process very beginner-friendly. Once you start training your own models for specific applications, you quickly learn that building and maintaining a high quality dataset is often the most time-consuming part of machine learning. Fortunately for this use case, a massive online library of bird calls from all over the world is available on Xeno-Canto. This can be augmented with background noise from the area where the device will be deployed to reduce false-positives. Edge Impulse will train the model using the provided dataset, and generate a library that can be used on the Arduino with one of the provided sample sketches to log and send the collected data to a server. Then comes the never ending process of iteratively testing and improving the recognition model. Edge Impulse is also compatible with more powerful devices such as the Raspberry Pi and Jetson Nano if you want more intensive machine learning models.

We’ve also seen the exact same setup get used for smart baby monitor. If you want to learn more, be sure to watch at [Shawn Hymel]’s talk from the 2020 Remoticon about machine learning on microcontrollers. Continue reading “Recognising Bird Sounds With A Microcontroller”

Video Voice Visualization

For their ECE 4760 final project at Cornell, [Varun, Hyun, and Madhuri] created a real-time sound spectrogram that visually outputs audio frequencies such as voice patterns and bird songs in gray-scale video to any NTSC television with no noticeable delay.

The system can take input from either the on-board microphone element or the 3.5mm audio jack. One ATMega1284 microcontroller is used for the audio processing and FFT stage, while a second ‘1284 converts the signal to video for NTSC output. The mic and line audio inputs are amplified individually with LM358 op-amps. Since the audio is sampled at 8KHz, a low-pass filter gets rid of frequencies above 4KHz.

After the break, you can see the team demonstrate their project by speaking and whistling bird calls into the microphone as well as feeding recorded bird calls through the line input. They built three controls into the project to freeze the video, slow it down by a factor of two, and convert between linear and logarithmic scales. There are also short clips of the recorded bird call visualization and an old-timey dial-up modem.

Continue reading “Video Voice Visualization”