Most humans with two ears have a pretty good sense of directional hearing. However, you can build equipment to localize audio sources, too. That’s precisely what [Sam], [Ezra], and [Ari] did for their final project for the ECE4760 class at Cornell this past Spring. It’s an audio localizer!
The project is a real-time audio localizer built on a Raspberry Pi Pico. The Pico is hooked up to three MEMS microphones which are continuously sampled at a rate of 50 kHz thanks to the Pico’s nifty DMA features. Data from each microphone is streamed into a rolling buffer, with peaks triggering the software on the Pico to run correlations between channels to determine the time differences between the signal hitting each microphone. Based on this, it’s possible to estimate the location of the sound source relative to the three microphones.
The team goes into great deal on the project’s development, and does a grand job of explaining the mathematics and digital signal processing involved in this feat. Particularly nice is the heatmap output from the device which gives a clear visual indication of how the sound is being localized with the three microphones.
We’ve seen similar work before, too, like this project built to track down fireworks launches. Video after the break.
Very cool! I think this could be a useful handheld tool if you could filter the frequencies to those above a certain frequency. Finding something with a very high pitch intermittent beep (e.g. fire detector with a low battery) can be difficult sometimes as the sound bounces off stuff. I had this problem a couple months ago and it took a solid 10 minutes to locate it within a room.
If I have understood, with just 2 microphones, the single hyperbola can still indicate the direction of the sound, but would of course not show the 3D information, the intersection of 2 hyperbolas as so nicely shown.
So then say you had a number of these 2 mic setups in a forest, with something like a lora network sending direction back to a base. Surely that received direction data alone would be enough for the base to do the grunt work in order to surmise the rough location of a loud noise, likely much further away.
Maybe I have misunderstood?
This is important because most systems I have read about seem to rely on comparing absolute time of arrival of a loud noise event, a bit of a nightmare which hinges on the sychronisation of clocks.
US army already has something like this to detect where shots are comming from. It has at least 5 or 6 michrophones. It was mounted on a Humvee. This is 5 years ago or more. I cannot remember if it was just testing or if it was starting to be implemented.
This could probably be adapted into an amazing quasi-anechoic measurement microphone.
Or with a few more picos maybe a great cheap ambisonic microphone.