[Speex-dev] AEC learning behaviour

Andras Kadinger bandit at surfnonstop.com
Wed May 25 15:14:13 PDT 2011

Yes, you are not forced to reset the AEC between calls at all, if you 
can assume the actual echo path (physical environment) will not change 
much, you can keep the instance and continue using it for the next call.

Also what we did was keep the AEC running between calls - but we had a 
rather high-duty system with sounds and signals played between calls, so 
the AEC almost continuously had signal to stay adapted on.

2011.05.25. 20:29 keltezéssel, Stuart O. Anderson írta:
> Perhaps you could add a warm-start to the AEC, such that the parameters
> start near the correct values on all but the first use?
> Stuart
> On 05/25/2011 08:22 AM, Andras Kadinger wrote:
>> 2011.05.25. 4:52 keltezéssel, Arun Raghavan írta:
>>> On Tue, 2011-05-24 at 11:09 -0400, Jean-Marc Valin wrote:
>>>> The fact that the AEC takes a few seconds to converge is normal. The
>>> Do you think there might be a way to reduce this?
>> The shorter you make the tail length the faster it will adapt. But this
>> will make it more important to reduce HW/SW latency so that you don't
>> waste the first part of the tail length on latency that will never have
>> useful audio to adapt on. Also be careful not to overcompensate for
>> latency, because then the AEC will see the recorded echo before the
>> played back signal, and it will break its assumption of causality (that
>> is that the recorded signal does not come before the played back signal).
>>>> fact that it needs to completely re-converge in the middle of a call
>>>> probably indicates that something went "wrong" in the audio
>>>> capture/playback. For example, that could be an overrun/underrun in
>>>> the soundcard buffer, or the user changing a volume control after the
>>>> AEC, or moving the speakers, ... anything that changes the impulse
>>>> response.
>>> I didn't see any abnormal behaviour from PulseAudio or the app
>>> corresponding to these resets. I'll try to see if I can pin down the
>>> actual cause.
>>> Thanks and cheers,
>>> Arun
>> _______________________________________________
>> Speex-dev mailing list
>> Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev
> _______________________________________________
> 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