DSPRelated.com
Forums

Is there an Open Source Echo Cancellation module available?

Started by Robert Oschler March 30, 2005
Your best bet for a great Acoustic Echo Canceler is probably at:
http://www.Compandent.com/products_echokiller.htm
http://www.Compandent.com/EchoKillerFactSheet.pdf


Robert Oschler wrote:
> Hello, > > I am the lead programmer for the SourceForge based Robosapien Dance Machine > project, released under the GPL license: > > http://sourceforge.net/projects/robodance > > I just added voice recognition capability to the program using another > SourceForge open source project, the Sphinx 3.5 speech recognition engine: > > http://sourceforge.net/projects/cmusphinx > > The Robosapien robot is a very loud robot which, using the average speech > detection/silence detection algorithms, will trigger a lot of "false" > recognition activity on the microphone; even on a decent headset microphone. > At about 3 feet away he still pumps out healthy 60+ decibels of sound which > left unchecked, triggers the microphone frequently and subsequently > generating false recognition results. > > I managed to do a very effective job at eliminating the problem using some > tricky volume thresholding, but in the future I'd like to go a step further > and use echo cancellation techniques to remove the robot's "voice". > > It would be very simple for me to record everything the robot says, each to > separate audio file. Since my program is controlling the robot, I always > know exactly what he is saying. Therefore, I should be able to take the > appropriate pre-recorded audio file of his voice and remove it from the > incoming microphone signal using spectral subtraction techniques. > > But since I am not a DSP expert (that's an understatement), I'd be far > better off finding some open source code that I could include in the project > to perform the spectral subtraction. > > I'd need the module to be able to take a pre-recorded file and create a > filter that would remove the audio in that file, from an audio signal in > real-time (live microphone input). I would need that filter to be able to > adapt to differences between the audio contained in the pre-recorded file, > and the way that audio will sound coming in on a different microphone than > the one the audio was originally recorded with, and at a different distance > from the microphone as the original (pre-recorded file versus actual audio > coming in from a new microphone). > > Does anyone know of something I could use? I am a veteran, C/C++/Object > Pascal programmer and can even handle some assembler if needed. > > Thank you if you have read this far, I know it's a long message. :) > > Thanks, >
>Andrew, > >I thought about it but most of the ones I saw were in the $70+ range.
Since
>my software is free, I'm trying to make entry into it as cheap as
possible.
>I'm finding out that only a handful of my users are willing to spend
more
>than around $15. If you know of anything, please let me know. > >Thanks, >Robert >
How much does the robot run? Might be worth the extra $$ to not have it beat you up. On another note I did a similar project speech enabling some segway soccer robots for the last robocup. We had great success by tuning the key words/phrases based on testing in noisy environments, and my experience in Speech Reco is that the quality of the prompts and grammars is as valuable as ANY technology you can put in there. -Tom