[Speex-dev] Stream Synchronization for Echo Cancellation

Coffey, Michael mcoffey at avistar.com
Tue Oct 31 14:34:39 PST 2006

Do you know of anyone, especially in the free software world, who has
successfully tackled the problem of synchronizing real-time input and
output audio streams of different devices using Windows? I need to do a
good job of this so that Acoustic Echo Cancellation can work in my Video
Conferencing application. I need to be able to capture audio from a USB
webcam and play it out over the user's choice of speakers or headphones.

As it says in 5.4.1 of the good book "Using a different soundcard to do
the capture and playback will *not* work, regardless of what you may
think. The only exception to that is if the two cards can be made to
have their sampling clock 'locked' on the same clock source."

It seems to me that it should be possible to achieve synchronization
using some combination of cross-correlation, clock skew estimation, and
sample interpolation. But there are so many details to consider, I bet
it would take a long time to get right.

Thanks for any pointers,


More information about the Speex-dev mailing list