[Speex-dev] Echo cancellation ot working

Milan Křápek Hellbard at seznam.cz
Fri Feb 19 00:21:10 PST 2010

  I am  developing real time audio application and I need to cancel echo. First I tried to make simple echo cancellation test application to test if my code will work. I make a call with two SIP phones (one with speakerphone). I dumped the RTP streams via wireshark and dumped it to the PCM 16 audio (8000 samples). 160 samples per 20ms and I used 640samples tail.
  I try this test data on the origin speex test echo cancellation application. The echo was cancelled but the stream was damaged (some of non echo parts was cancelled to)
  I try this with my own test application again, but that does not work. Then I find out why. When I try to call preprocessing with SPEEX_PREPROCESS_SET_ECHO_STATE I got the same results as speex origin test application. This leads me to conclusion that echo was not cancelled by echo canceller but it was just removed as a noise.
  Well my question is why my echo cancellation does not work?

1. does speex echo canceller support PCM 16 audio or must I use the speex codec?
2. I read that speex exho cancellation works better when frames are squares of 2. Can this be the problem that I use 160 samples in frame?
3 stream without echo and stream with echo are on different volume level becaouse the mics on the teephnes are not same. Can the different volume level of audio streams has bad influence to the speex echo canceller?
4. have you any idea what can I try to make echo cancellation wokr?

Thank for any ideas and advances


More information about the Speex-dev mailing list