Home > News & Updates > Arduino News > RECOGNISING BIRD SOUNDS WITH A MICROCONTROLLER

RECOGNISING BIRD SOUNDS WITH A MICROCONTROLLER

Summary of RECOGNISING BIRD SOUNDS WITH A MICROCONTROLLER


This article details an automated bird call classifier project using the Arduino Nano 33 BLE Sense and Edge Impulse. The team leverages the board's onboard microphone and microcontroller to record audio, then trains a machine learning model on the Xeno-Canto dataset augmented with local background noise. This setup allows for efficient data logging and server transmission while minimizing false positives through iterative testing.

Parts used in the Automated Bird Call Classifier:

  • Arduino Nano 33 BLE Sense
  • NRF52840 microcontroller
  • Onboard microphone
  • Edge Impulse online service
  • Xeno-Canto library
  • Raspberry Pi (optional alternative)
  • Jetson Nano (optional alternative)

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.

Source: RECOGNISING BIRD SOUNDS WITH A MICROCONTROLLER

Quick Solutions to Questions related to Automated Bird Call Classifier:

  • What tool is used to train the machine learning model?
    Edge Impulse is used to train the model in a beginner-friendly manner.
  • Can this setup be used for other applications besides bird calls?
    Yes, the exact same setup has been used for a smart baby monitor.
  • Where can I find a massive online library of bird calls?
    The Xeno-Canto library provides a massive collection of bird calls from around the world.
  • How do you reduce false-positives in the recognition model?
    You can augment the training data with background noise from the specific deployment area.
  • Does the process require advanced coding skills to start?
    No, online services like Edge Impulse make the process very beginner-friendly.
  • What are the limitations of the hardware used?
    The Arduino Nano 33 BLE Sense features the NRF52840 microcontroller with Bluetooth Low Energy and onboard sensors.
  • Are there more powerful devices compatible with Edge Impulse?
    Yes, Edge Impulse is also compatible with devices like the Raspberry Pi and Jetson Nano for intensive models.
  • What is the most time-consuming part of building these models?
    Building and maintaining a high quality dataset is often the most time-consuming part of machine learning.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top