Question

I have an application that records audio from a microphone and processes it. I would like to be able to perform this task while I have music playing, or sound from a movie, without picking up the music or movie sound. Since the music or movie would be playing from the same computer that the microphone is recording to, I should - in theory - have access to every bit of audio data as it comes out of the computer. I think that this should allow me to automatically cancel the output noise of the computer from the input signal of the microphone, but I'm not actually sure how to go about doing this! I am mostly language-agnostic here, as long as I can invoke this behavior from a .Net executable via interop or IPC or what have you. Any suggestions on how to accomplish this - especially the early parts, like getting a representation of the output audio signal from the sound card, and getting a representation of the input signal from the microphone - would be greatly appreciated.

Was it helpful?

Solution

You could look into the literature on echo cancellation. There seem to be several books on the subject. It's a non-trivial level of DSP coding.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top