Tools for locating the position of a sound in a 2D/3D space using microphones?
Hello,
I want to start a project that visualizes the sources of sounds in a 2D plane and am having trouble finding info on existing packages for MSP that would help me get started on it. I know that I could program my own algorithm for this but if something is available that can help the process along, that would be awesome!
Any help is appreciated.
that is such an extraordinarily complex and difficult field I'd be surprised if any such package exists;
here is a really excellent review of challenges and the research related to automatic sound source localization (SSL):
https://www.sciencedirect.com/science/article/pii/S0921889016304742?via%3Dihub#bb96
I agree that it is a very hard problem to solve effectively in the general case, but I think with well defined parameters and a few assumptions then it becomes more doable. With four cardioid microphones placed in well known positions, I think this becomes a 3 dimensional multilateration problem for the space that the microphones cover:
https://en.wikipedia.org/wiki/Multilateration
If I'm wrong about that then I would love to know before embarking on this further!
theoretically you're absolutely correct, but in that situation you also have to assume:
your mics are perfectly matched to extreme tolerances-- they would have to be sensitive into the ultrasonic range, so you'd be talking very expensive laboratory mics
they'd need to be again perfectly calibrated positionally in the space
the only space it would work is free-field or anechoic chamber you could have only one sound source, no other sound the sound would have to have a certain frequency content, and a particular onset profile
you could have only one sound source, no other sound
the sound would have to have a certain frequency content, and a particular onset profile
some of these restrictions can be mitigated using clever algorithms, machine-learning techniques, and multiple sophisticated approaches to dsp, but it ends up being so difficult that you need to be part of a multidisciplinary university team with a budget
having said that, it would be really interesting to try to do, even if it's just to prove me wrong, and you'd learn heaps, and maybe come up with a novel approach that might be useful to others...