[Speex-dev] AEC with different soundcards
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.
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
>> I apologize for my lack of knowledge in this topic,
>> Speex-dev mailing list
>> Speex-dev at xiph.org
More information about the Speex-dev