[Speex-dev] trouble getting speex_echo_cancel() to work

Thorvald Natvig speex at natvig.com
Thu Jun 2 17:30:03 PDT 2005


>> I did a bit more testing, and ended up creating a set of testsamples, as
>> follows:
>>
>> ideal.pcm => me saying "This is what I'd like to hear"
>> junk.pcm => me saying "With a bit of luck, this is gone"
>> mixdown.pcm => ideal.pcm, with junk.pcm started 7 ms later and 3 dB lower.
>
> The problem with that is that it's nowhere near real conditions. It
> would be a lot better if you made a real recording for mixdown because
> then you would have a realistic echo function (with non-ideal freq
> response, reverberation, ...).

I thought I should give an "ideal" testcase to see it's best theoretical 
performance.

>> I then copied junk.pcm to play.sw, mixdown.pcm to mic.sw and ran testecho.
>> The output sounds almost identical to the mixdown, and far from "ideal".
>
> Are you using the latest code in svn (it has lots of improvements)?

No, I didn't, and having just upgraded, that made all the difference in 
the world. Doing the same test, the echo is now completely gone. That is, 
it's at least 30 dB lower than in the "echo" signal, which is low enough 
that it's not noticable when the person is talking, and also low enough 
not to trigger VAD during periods of silence.

It also handled the case where the echo (loudspeaker) signal was music 
which was 10 dB louder than the desired signal. The signal was noticably 
distorted from the original, but considering I couldn't even hear what was 
being said as long as the echo was there, it's very impressive.

Thank you very, very much :)


More information about the Speex-dev mailing list