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
Jean-Marc Valin
2005-Jul-27 18:44 UTC
[Speex-dev] Problems with Speex echo canceller in 1.1.10
Le mercredi 27 juillet 2005 ? 12:57 -0700, Eric Scott a ?crit :> 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.With just this, I can tell that you simply inverted the near and far end signals. Jean-Marc -- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> Universit? de Sherbrooke