<div>I used to run in the same problem.</div>
<div> </div>
<div>A difference higher than 3Hz in sampling rate between mic</div>
<div> and speaker data can cause a totally failure of AEC.</div>
<div> </div>
<div>However, I have not seen a proper solution to this problem in real time. </div>
<div> </div>
<div>If you roughly know the difference of sampling rate between the speaker and the mic file,</div>
<div>you may try to resample each frame of mic file according to it. </div>
<div>Otherwise, or if the sampling rate difference fluctuate significantly over time, </div>
<div>the only possible method I can think of is try to resample each frame of mic file to maximize its cross-correlation with the coordinate frame in the speaker file (This can be time consuming).</div>
<div> </div>
<div>No promising, just a try.<br></div>
<div class="gmail_quote">On Wed, Dec 30, 2009 at 4:00 AM, <span dir="ltr">&lt;<a href="mailto:speex-dev-request@xiph.org">speex-dev-request@xiph.org</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Send Speex-dev mailing list submissions to<br>       <a href="mailto:speex-dev@xiph.org">speex-dev@xiph.org</a><br>
<br>To subscribe or unsubscribe via the World Wide Web, visit<br>       <a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br>or, via email, send a message with subject or body &#39;help&#39; to<br>
       <a href="mailto:speex-dev-request@xiph.org">speex-dev-request@xiph.org</a><br><br>You can reach the person managing the list at<br>       <a href="mailto:speex-dev-owner@xiph.org">speex-dev-owner@xiph.org</a><br><br>
When replying, please edit your Subject line so it is more specific<br>than &quot;Re: Contents of Speex-dev digest...&quot;<br><br><br>Today&#39;s Topics:<br><br>  1. AEC: Tips on signal synchronization. (Marco Pierleoni)<br>
<br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Tue, 29 Dec 2009 17:38:49 +0100<br>From: Marco Pierleoni &lt;<a href="mailto:pierleoni.m@gmail.com">pierleoni.m@gmail.com</a>&gt;<br>
Subject: [Speex-dev] AEC: Tips on signal synchronization.<br>To: <a href="mailto:speex-dev@xiph.org">speex-dev@xiph.org</a><br>Message-ID:<br>       &lt;<a href="mailto:8f61aa5b0912290838n3154532buf9b5af40d64a44fe@mail.gmail.com">8f61aa5b0912290838n3154532buf9b5af40d64a44fe@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br><br>Hello,<br><br>I am using the speex AEC in a real time application.<br>I have experienced that when the mic and the speakers tracks are on sync or<br>with a small delay the AEC works very well.  I understood that when they are<br>
out of sync the AEC cannot works, so what the &quot;user&quot; should do is to focus<br>in order to have the tracks on sync.<br><br>Since I am working in an environment where it is not rare to have tracks out<br>of sync, I was wondering if you can help me to find a reliable solution.<br>
<br>Right now I am working on two recorded audio track where the mic and the<br>speakers are both in sync or out of sync in different parts of the files.<br><br>I am trying to perform the synchronization, using the cross-correlation, on<br>
each frame before to pass on the echo_cancellation.<br>In particular the parameters of cancellation will be the frame taken from<br>the mic file, and the frame from the speaker files which better<br>cross-correlated with the mic frame.<br>
The result is not very different from the output without synchronization.<br><br>So my questions are:<br> - Do you think that an approach like this could, in principle, give more<br>echo cancellation? Let&#39;s forget the performance, just for now.<br>
 - Do you have any idea how to obtain faster re-adapting, if the tracks go<br>out of sync?<br> - I read the papers cited in the code, but I cannot understand completely<br>how the algorithm works and adapts; do you have any available references to<br>
suggest in order to have a better understanding and to try to obtain an echo<br>cancellation in these bad situations?<br><br>Thanks for your help<br><br>Marco Pierleoni.<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.xiph.org/pipermail/speex-dev/attachments/20091229/83c81c63/attachment.html" target="_blank">http://lists.xiph.org/pipermail/speex-dev/attachments/20091229/83c81c63/attachment.html</a><br><br>------------------------------<br>
<br>_______________________________________________<br>Speex-dev mailing list<br><a href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a><br><a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br>
<br><br>End of Speex-dev Digest, Vol 67, Issue 15<br>*****************************************<br></blockquote></div><br>