[Speex-dev] Echo Can Tail Length

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Mon Apr 20 04:27:17 PDT 2009

David Baker a écrit :
> Hi,
> I've been trying to understand the documentation on the Speex echo  
> canceller, and unless I'm confused, I think there's a mistake  
> somewhere. The documentation on http://speex.org/docs/manual/speex-manual/node7.html#SECTION00740000000000000000 
>   says, " The recommended tail length is approximately the third of  
> the room reverberation time". However, the Octave script  
> echo_diagnostic.m has the code:
> if (b > .3*tail_length)
>        printf ('This is too much delay, try delaying the far-end  
> signal a bit\n');
> This seems to mandate that the tail length should be at least 3 (or  
> 3.33...) times the delay, which conflicts with what the manual says.

There's no conflict. The b above has nothing to do with the
reverberation time. It's the buffering delay of the audio
playback/capture and if it's more than 30% of the tail length, it means
you're wasting that much of your tail. If it's larger than the tail
length, then it means that no cancellation is possible at all.



> Is this a mistake, or is my understanding incorrect (I'm assuming that  
> far-end delay and room reverberation time are the same thing). I'd  
> really appreciate if someone could clear this up, as I've not had much  
> luck getting the echo canceller to work.
> Thanks in advance,
> Dave
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list