[Speex-dev] Problems with Speex echo canceller in 1.1.10

Eric Scott Eric.Scott at keynote.com
Wed Jul 27 12:57:50 PDT 2005

I'm having trouble getting the echo canceller to work and I'm hoping some one can get me started in diagnosing what's going on.  The symptoms I'm seeing are these:

1. If the NES is silence (i.e., no echo, no speech), the ec puts the FES back into the audio.
2. If the NES is similar to the FES (same speech words), the ec doesn't seem to remove the echo.
3. For case #2, I pushed up the filter size to see if that would change anything.  When I got to 1000ms filter size, then everything in NES was removed.

The ec seemed to work fine when the FES and NES weren't similar and there was talking on the NES.  I haven't tried these cases on 1.1.9.

I'm wondering if some one can point me to what type of echo canceller speex is using?  Or even to a description of the algorithm itself?  I looked at the code, but didn't recognize the algorithm.  (I could only tell it wasn't FIR or NLMS.)

BTW, I'm running this on WinXP w/ VC++ 6.0.  I had to cast things to float in lots of places (to get rid of warnings) and define away "restrict", but otherwise didn't have to change anything.

- Eric Scott

More information about the Speex-dev mailing list