I was at a Robotics conference earlier today and one of the speakers mentioned robots not being able to function as well in a crowd because they can't single out audio like a person can.

Why can people single out audio so well? And what would it take for a robot to do the same?

I'm aware of Active Noise Reduction (ANR) like on Bose Aviation headset, but that is not what I'm talking about. I am thinking about the ability to take everything in but process only what you feel is important.


What the speaker said at the conference was not accurate. Perhaps they meant "our robot can't single out audio like a person can", but the statement "[robots] can't single out audio like a person can" is false.

Here is a partial list of systems that can determine the source of an audio signal, and track it:

The term you're looking for is a "phased array" of microphones (see also: Matlab phased array toolbox). NASA uses phased arrays to localize the noise coming from spinning rotor fan blades.

  • $\begingroup$ Been a while since I took that audio class but I also believe any given voice should have characteristics that could be reasonably assumed to be unique in a crowd. $\endgroup$ Jul 19 '13 at 2:24
  • 2
    $\begingroup$ To add to your list, the Kinect for Windows sensor has a microphone array that it can use to determine which player the audio is coming from. $\endgroup$ Jul 19 '13 at 21:03
  • $\begingroup$ That's excellent, do you have a link on how to access that information from the Kinect? $\endgroup$
    – Ian
    Jul 19 '13 at 22:15
  • $\begingroup$ +1. But can a robot make real-time decisions on what is important, and filter according to that? It seems to me that your list only includes sounds that the robot can learn in advance. $\endgroup$ Jul 20 '13 at 20:38
  • $\begingroup$ Certainly. The technique is called beamforming. Assuming you have some filter-able criteria for what counts as "important", once you pick up that signal, you would track its movement from that spatial location. $\endgroup$
    – Ian
    Jul 20 '13 at 22:36

I think there are at least three things going on:

  1. Filtering that is dependant on the location the sound is coming from. Our stereo hearing combined with certain attributes of how our ears are built helps us isolate sound coming from a particular location/direction.
  2. Filtering that is dependant on the frequency/amplitude of the audio.
  3. The redundancy in the audio allows us to reconstruct the input. If multiple people are speaking over each other (or generally in the presence of noise) we only need to catch a fraction of what's being said (or sometimes even observe visually) to know what is being said.

I would think that a robot can outperform humans on #1 and #2. With a microphone array one would think you could effectively focus on a single point in space and eliminate all other interference. That may be made more complicated by reflections and various other disturbances. #3 is probably something that is harder for computers to do.

  • $\begingroup$ The secret word for tonight is stereo hearing. Ask any human who lost this ability for any reason. So, a program or even a robot with 2 or more mics will have this ability - if the programmer knows how to handle the input. $\endgroup$
    – ott--
    Jul 17 '13 at 20:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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