none
How to implement a ambient noise suppression RRS feed

  • Question

  • Hi everybody,

    we try to implement a voice command control for a PC. One of the questions is, how to implement an echo compensation - I hope this is the right word - for the Kinekt.

    The problem would be, that the noise from the PC - a movie, or a song - should not recognized from our program. Follow that link below, to see a example of what I mean...

    http://video.aol.com/video/a-new-invention-on-and03930-rockand039-020311-tv-replay/3666431115

    What the echo cancellation sample from the SDK does, is to determine from where the ambient noise is comming and mask that angle out. Did I have it? If yes, that is not exactly what we want to do. Imagine, the customer has a sourround system and is sitting in front of a speaker and in the movie, a figure is calling a command of what we're hearing. Shouldn't happen!

    So, our question is, what can we do, to prevent the situation of the linked video above. An idea is, to pickup the output signal on the soundcard and that of the kinect mic-array. The difference between these signals should be the voice of the user, a spoken command. That is what we want to send to the speech analyser of the SDK (like in the speech sample) and then the we receive the command - tadaaa... Is that possible with the kinect-SDK?

    Thanks for your help

    chiller

    Wednesday, November 30, 2011 12:53 PM

Answers

  • As mentioned above, AEC for Mono outputs is built into the SDK.  For right now, your best option is to enable AEC in the DMO.  If you control the output sounds, you can choose to play mono sounds and will get better results from the built in AEC system. 

    Can you share a little bit about your scenario (what you're trying to build)?

     
    Monday, March 26, 2012 4:35 PM

All replies

  • Chiller you clearly haven't read much in this forum. It is poor form when people post before searching; this has been well addressed. 1) you don't understand how AEC works (acoustic echo cancellation). 2) what you are asking for is already built in to the SDK. 3) AEC only works with mono channel outputs as of this release. Stereo and 5.1 are designated for future releases. 
    Saturday, December 3, 2011 12:06 AM
  • As mentioned above, AEC for Mono outputs is built into the SDK.  For right now, your best option is to enable AEC in the DMO.  If you control the output sounds, you can choose to play mono sounds and will get better results from the built in AEC system. 

    Can you share a little bit about your scenario (what you're trying to build)?

     
    Monday, March 26, 2012 4:35 PM
  • As mentioned above, AEC for Mono outputs is built into the SDK.  For right now, your best option is to enable AEC in the DMO.  If you control the output sounds, you can choose to play mono sounds and will get better results from the built in AEC system. 

    Can you share a little bit about your scenario (what you're trying to build)?

     
    Chris, I've been meaning to pass you guys a note... I found a bug with the AEC implementation in the 1.0 release. In the Betas, if you tried to use 5.1 channel digital output, it would throw an unhandled exception and crash. But in the 1.0 release it freezes instead. No exception, no crash. Just a unresponsive app. I'd rather have the crash than the ambiguity of it not responding.
    Monday, March 26, 2012 4:44 PM
  • Thx for the bug report.  I'll get it filed on our side.
    Monday, March 26, 2012 4:47 PM