[Speex-dev] Help needed regarding Echo Cancellation

Shantanu Gramsci shantanu_khan at yahoo.com
Mon Sep 5 10:45:01 PDT 2005

Dear all, 

I need to use echo cancellation in a VOIP application
using speex narrowband codec.I am facing some problems
with echo cancellation. It will be very helpfull if
someone can put some light on the following issues.


-- When call is started EC works fine for first few
seconds. Bur after a certain period [usually 20 sec or
more] it does not work or works very bad [produces
distorted or noisy echo].

-- If no one talks for some time [around 4/6 mins] EC
works again for some period and after that period it
fails again. 

-- I used echo tail 200ms. Using long echo tail
[2000ms], EC works very fine but in that case CPU
usage becomes very high. 

What should be the solution in this situation? I mean
what can be the reason that EC fails after some time.


-- I read the played packets from DirectSound Buffer
and use it as echo frame. I have noticed that my echo
frame is of low amplitude and many values of it are 0

-- Since the values are small, I applied AGC on echo
frame with another Speex preprocessor before passing
it to EC. With this approach and echo tail 400ms, I
get very good echo cancellation. But some times we get
distorted audio, sounds like someone speaking in pipe
or underwater.
-- Is there any possibility to get distorted audio if
we apply speex AGC on echo frame before passing it to

-- Is there any tradeoff that if echo cancellation
becomes more aggressive, the voice quality will fall
or will be distorted?
-- What are the ways to make EC more aggressive?

Any help is greatly appreciated. Thanks in advance.


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Speex-dev mailing list