Apologies for the possibly dumb question. I'm really new on this field. I don't really know enough to start articulating the problem more fluently. It's even possible this isn't even the right place to ask; please point me in the right direction if that's the case.

I'm looking for references on how to tell the angle in 2d from which a given sound is coming from? Say I have two microphones and a source all along the same plane. If I wanted to know the angle of the source in relation to the middle of the microphones, can I calculate that? How? How is the entire problem called? Where can I read about that?

Thanks in advance!

  • This is a really complex question. Are you asking just out of curiosity or do have a real world scenario in mind? I was wondering because if this is only hypothetical then we could disregard some physical laws.
    – Max
    May 10, 2015 at 0:32
  • I came up with this idea to build a rudimentary sonar with mobile phones, and realized I didn't even know the language that would be needed to look for the way to do this. May 11, 2015 at 2:47

3 Answers 3


As a commenter said, this can be complicated. But in general, measuring the arrival time at two or more known locations can allow you to compute the angle to the sound source. This is done in systems like ShotSpotter which is used to detect and locate gunshots in urban environments. If you have an impulse sound like a gunshot the calculation of arrival time is much easier than in the general case. Two detectors can give you direction; three or more can triangulate location.



Sound travels at about 1100 ft/s. Suppose you have two microphones 11 feet apart. If you stand anywhere exactly equidistant (so anywhere at 0 degrees or 180 degrees) and snap your fingers, the sound arrives to both at exactly the same time. If you stand exactly in line with the microphones with microphone A in between you and microphone B (so let's call that 90 degrees), the sound will arrive to microphone A about 10 ms sooner than it arrives to microphone B.

So if I were to approach this problem, I would first find some way of comparing sound events from the two mics to decide whether they came from the same source, and then you can compare the timing of the two sounds with the knowledge of how far the mics are from each other to come up with a range of possible places the source could be.

(Also the speed of sound changes with things like humidity and air pressure, so if you want to be super accurate you probably need to take things like this into account)

Hope that's helpful...


and realized I didn't even know the language that would be needed to look for the way to do this

'Sound localization' could be a useful term to search for...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.