[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.

Cheers,

	Jean-Marc

> 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