[Speex-dev] AEC with different soundcards

John Ridges jridges at masque.com
Tue Jul 7 09:36:34 PDT 2009


Measuring clock drift is a thorny problem that depends greatly on your 
hardware setup and OS. In my case (Windows machines) I simply measure 
how many samples are played and captured in a given time period, and use 
that ratio to calculate the clock drift. Unfortunately these 
measurements are usually very noisy and require some high-powered 
filtering to get stable results that converge in a reasonable time. I'm 
afraid I'm not at liberty to get any more detailed than that. Sorry.

John Ridges


Alexander Chemeris wrote:
> AFAIK, that's a common point for all AECs. But some of them
> solve the problem by resampling on of the end to keep it in sync
> with the other.
>
> On Tue, Jul 7, 2009 at 5:14 PM, ggb<ggb at tid.es> wrote:
>   
>> Thank you John.
>>
>> On 07/06/2009 11:03 PM, John Ridges wrote:
>>
>> ly synchronized, and therefore the clock drift adds a non-linear
>> factor to the audio path. The AEC can only cancel linear changes to the
>> audio path, and so the AEC never converges.
>>
>> Is this a limitation common to all the AEC implementations/algorithms, or
>> just the speex one?
>>
>> One solution is to measure
>> the clock drift and resample either the input or output signal so that
>> they *are* synchronized, and then the AEC can converge. It's not fun,
>> but it works.
>>
>>
>> Could you detail me how to measure the clock drift?  Any pointer to doc or
>> example?
>>
>> I apologize for my lack of knowledge in this topic,
>> G.
>>
>> _______________________________________________
>> 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