How to change the reference source from media player to another microphone for AEC?

Answered How to change the reference source from media player to another microphone for AEC?

  • Monday, November 21, 2011 3:23 AM
     
     

    Hi,

    I've read the MicArrayEchoCancellation walkthrough pdf.

    It uses audio played by media player as a reference to echo cancelling.

    Is is possible and how to change it to using another microphone as a reference source?

    Currently we are working on a robot project which use kinect as microphone for voice recognition.

    The mechanical noise from robot always interrupt the voice recognition system.

    We are trying to point another microphone direct to the motor engine and and have this as a reference for echo cancellation.

    Thank you very much.

    Yuan

All Replies

  • Tuesday, November 22, 2011 9:08 PM
     
     

    I assume that if you routed the mike input to an output that didn't do anything, you'd be able to select the output in question.

     

  • Tuesday, November 22, 2011 11:18 PM
     
     
    You misunderstand how the technology works. AEC is not using the microphone input to do echo cancellation, it's using the audio output, and then removing the output from the audio input of the Kinect. To do that calculation, you must be using a Kinect, so no, there is no way to use another microphone.
  • Monday, March 26, 2012 4:43 PM
    Owner
     
     Answered

    What audio mode are you using for the beam forming?  You'd probably do best with the Adaptive beam, with noise suppression enabled.  This should help suppress consistent background noise like the robot motor.  Also, try to make sure that the Kinect is facing away from the motor.  The Kinect housing has physical housings that help cut out sound that originates behind it. 

    AEC algorithms will generally have a very hard time w/ something like a robot, because it can move around and it's acoustic environment shifts over time.  Also, the AEC algorithms that ship w/ Kinect are designed to handle cancelling of a mono output from the computer to which it's connected, so they are not built to handle the scenario you're describing.

  • Thursday, May 17, 2012 9:21 PM
     
     

    I have a similar problem i need to solve. Will it help to set the "Listen to the Microphone" checkbox in Recording Device settings? In that case, how far will the microphone need to be placed from the motor/ noise source?

    @Chris: What happens when humans speak behind the Kinect? Will it pick up their voices well when beam steering is enabled?


  • Friday, May 25, 2012 5:34 PM
    Owner
     
     

    This approach might work, though I don't know for sure. :) We haven't tested anything like that... You would also end up subtracting some of the speech signal if you do that, but it's hard to say how much benefit or negative outcome you'd get from it without running experiments.

    @Seshadri:  Humans speaking behind the Kinect will have their voices damped very significantly.  The individual mics in the array have a directionality pattern (pointing slightly up, and forward).  The housing they're in also produces damping of sounds that come from behind.  All told, I *think* a voice signal from behind the device will be damped by ~20 dB.  Technically the beam forming will still pick up and amplify signals along a second beam, reflected across the sensor so it's pointing backwards (the math just works out that way) but signals on that beam will be significantly damped as compared to signals along the intended beam.