[Speex-dev] Echo Can Tail Length
David Baker
dbkr at mxtelecom.com
Mon Apr 20 09:08:52 PDT 2009
On 20 Apr 2009, at 12:27, Jean-Marc Valin wrote:
>
>
> 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
>>
>
Ah, that makes sense. Many thanks for the prompt response!
Dave
More information about the Speex-dev
mailing list