[Speex-dev] Stand-alone echo cancellation

Mike Ball
Thu, 02 Oct 2008 16:39:03 -0000

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