[Speex-dev] AEC: Tips on signal synchronization.

Marco Pierleoni pierleoni.m at gmail.com
Tue Dec 29 08:38:49 PST 2009


I am using the speex AEC in a real time application.
I have experienced that when the mic and the speakers tracks are on sync or
with a small delay the AEC works very well.  I understood that when they are
out of sync the AEC cannot works, so what the "user" should do is to focus
in order to have the tracks on sync.

Since I am working in an environment where it is not rare to have tracks out
of sync, I was wondering if you can help me to find a reliable solution.

Right now I am working on two recorded audio track where the mic and the
speakers are both in sync or out of sync in different parts of the files.

I am trying to perform the synchronization, using the cross-correlation, on
each frame before to pass on the echo_cancellation.
In particular the parameters of cancellation will be the frame taken from
the mic file, and the frame from the speaker files which better
cross-correlated with the mic frame.
The result is not very different from the output without synchronization.

So my questions are:
 - Do you think that an approach like this could, in principle, give more
echo cancellation? Let's forget the performance, just for now.
 - Do you have any idea how to obtain faster re-adapting, if the tracks go
out of sync?
 - I read the papers cited in the code, but I cannot understand completely
how the algorithm works and adapts; do you have any available references to
suggest in order to have a better understanding and to try to obtain an echo
cancellation in these bad situations?

Thanks for your help

Marco Pierleoni.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20091229/83c81c63/attachment.htm 

More information about the Speex-dev mailing list