Hello all, I'm a hardware person who has recently found himself thrust into a software role. So, please forgive any ignorance in the following questions. I've tried to do my homework reading the relevant manual pages and investigating the Doxygen documentation. :-) We're investigating acoustic echo cancellation solutions for a speech application. Our hardware will be a TI C64x+ series processor (DM6467) which has both a DSP and ARM9 core. Our audio will be sampled at 8kHz and fed in through the I2S ports on the DM6467, echo cancelled, and then encoded in G.711. As such, I'm really interested in the echo cancellation component of Speex, but not in the encode/decode. Finally, only one channel of audio needs to be echo cancelled in the system. So, here come the questions. :-) 1. Is it possible to call speex_echo_cancellation() on audio frames not already encoded in Speex? 2. Can anyone compare / contrast the features of Speex's echo cancellation versus those of, say, Ittiam (http://www.ittiam.com/pages/products/aec.htm ) or Adaptive Digital? (http://www.adaptivedigital.com/product/echo_cancel/adt_aec.htm) Obviously these are expensive and powerful commercial packages which probably don't compare well with a package like Speex, but I'd just like to get a sense of what the differences are. Thanks for your help! Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20081001/3dd579d7/attachment.htm
Mike Ball a ?crit :> We?re investigating acoustic echo cancellation solutions for a speech > application. Our hardware will be a TI C64x+ series processor (DM6467) > which has both a DSP and ARM9 core. Our audio will be sampled at 8kHz > and fed in through the I2S ports on the DM6467, echo cancelled, and then > encoded in G.711. As such, I?m really interested in the echo > cancellation component of Speex, but not in the encode/decode. Finally, > only one channel of audio needs to be echo cancelled in the system. So, > here come the questions. :-) > > 1. Is it possible to call speex_echo_cancellation() on audio frames not > already encoded in Speex?Yes. The echo canceller is now part of libspeexdsp, which is totally independent from the codec part.> 2. Can anyone compare / contrast the features of Speex?s echo > cancellation versus those of, say, Ittiam > (http://www.ittiam.com/pages/products/aec.htm ) or Adaptive Digital? > (http://www.adaptivedigital.com/product/echo_cancel/adt_aec.htm) > Obviously these are expensive and powerful commercial packages which > probably don?t compare well with a package like Speex, but I?d just like > to get a sense of what the differences are.I don't know these products. Just one important question though, are you after line echo cancellation or acoustic echo cancellation. The Speex echo canceller is optimised for acoustic echo. It'll sort of work on line echo, but it'll be both sub-optimal in terms of quality and more CPU-intensive. For line echo, you might want to have a look at oslec (http://www.rowetel.com/ucasterisk/oslec.html). Cheers, Jean-Marc
Jean-Marc, Thanks for your quick reply. Yes, we're looking for acoustic echo cancellation, not line echo. Our application is related to surveillance, where we have someone speaking over a public address system or local intercom. After that signal bounces around the room, it is picked up by a single microphone in the area, and we'd like to cancel that off. I think this is pretty similar to the scenarios for hands-free phones which you describe in the manual pages. Does this sound like a reasonable application of your software? Mike -----Original Message----- From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca] Sent: Wednesday, October 01, 2008 8:10 PM To: Mike Ball Cc: speex-dev at xiph.org Subject: Re: [Speex-dev] Stand-alone echo cancellation Mike Ball a ?crit :> We're investigating acoustic echo cancellation solutions for a speech > application. Our hardware will be a TI C64x+ series processor (DM6467) > which has both a DSP and ARM9 core. Our audio will be sampled at 8kHz > and fed in through the I2S ports on the DM6467, echo cancelled, and then > encoded in G.711. As such, I'm really interested in the echo > cancellation component of Speex, but not in the encode/decode. Finally, > only one channel of audio needs to be echo cancelled in the system. So, > here come the questions. :-) > > 1. Is it possible to call speex_echo_cancellation() on audio frames not > already encoded in Speex?Yes. The echo canceller is now part of libspeexdsp, which is totally independent from the codec part.> 2. Can anyone compare / contrast the features of Speex's echo > cancellation versus those of, say, Ittiam > (http://www.ittiam.com/pages/products/aec.htm ) or Adaptive Digital? > (http://www.adaptivedigital.com/product/echo_cancel/adt_aec.htm) > Obviously these are expensive and powerful commercial packages which > probably don't compare well with a package like Speex, but I'd just like > to get a sense of what the differences are.I don't know these products. Just one important question though, are you after line echo cancellation or acoustic echo cancellation. The Speex echo canceller is optimised for acoustic echo. It'll sort of work on line echo, but it'll be both sub-optimal in terms of quality and more CPU-intensive. For line echo, you might want to have a look at oslec (http://www.rowetel.com/ucasterisk/oslec.html). Cheers, Jean-Marc