<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    I recently tested multiple echo cancellation solutions with
    asynchronous audio devices (webcam + loudspeakers). So far
    Fraunhofer's Echo Control was the only one giving good results.
    Although there might be some quality loss during double talk, echo
    is cancelled very well even with very loud playback. Unfortunately
    it is quite expensive.<br>
    <br>
    Andreas<br>
    <br>
    Am 19.01.2011 11:44, schrieb LiMaoquan2000:
    <blockquote
      cite="mid:33145ebd.83d0.12d9ddfb02c.Coremail.LiMaoquan2000@126.com"
      type="cite">
      <style type="text/css"> <!--@import url(E:\LMQ\LightingMail\\data\scrollbar.css); --></style>
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <style>BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em};                                                    body{FONT-SIZE:12pt; FONT-FAMILY:宋体,serif;};                                                    </style>
      <meta name="GENERATOR" content="MSHTML 8.00.6001.18999">
      <base target="_blank">
      <p>Hi all,</p>
      <p>We have discussed so many about sampling rate asynchronous (or
        offset) between rendering (D/A converter) and capturing (A/D
        converter) of most PC soundcards. It seems all acoustic echo
        cancellers, include AEC in speex, can not deal with this
        trouble, because it causes a drift of echo path and also buffer
        overflow and underflow which jumps the delay of echo path
        seriously.</p>
      <p>Unfortunately, this kind of sampling rate asynchronous exists
        in most low-cost PC soundcards we have. So it is a big obstacle
        for us to make an AEC algorithm practical.</p>
      <p>I have asked many people for help. It seems impossible to
        eliminate this offset. Then I found something in microsoft msdn
        website. It seems microsoft's AEC can deal with different
        sampling rate.</p>
      <p>&gt; <a moz-do-not-send="true"
          href="http://msdn.microsoft.com/en-us/library/ff536174%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/ff536174%28VS.85%29.aspx</a><br>
        &gt; In Windows XP, the clock rate must be matched between the
        capture and render streams. The AEC system filter implements no
        mechanism for matching sample rates across devices. This
        limitation precludes using AEC when the capture and render
        functions are performed by different devices. In Windows XP SP1,
        Windows Server 2003, and later, this limitation does not exist.
        The AEC system filter correctly handles mismatches between the
        clocks for the capture and render streams, and separate devices
        can be used for capture and rendering.</p>
      <p>There is also a IEEE paper, Adaptive Sampling Rate Correction
        for Acoustic Echo Control in Voice-Over-IP, which introduced a
        complex method to estimate the frequency offset and
        resynchronize the signals using arbitrary sampling rate
        conversion. I wonder if it can provide enough performance.
        Because I have also designed a sampling rate converter. After
        tested the offset accurately, it can reduce the offset to less
        than 0.1Hz, then the signal after resampling is send to speex
        AEC. But there is still hearable echo even if it is far less
        than that can be heared before resampling.</p>
      <p>Does anybody have any suggestion about practical acoustic echo
        cancellation in low-cost soundcards? You know, most low-cost
        soundcards have the problem of sampling rate asynchronous.</p>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Speex-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/speex-dev">http://lists.xiph.org/mailman/listinfo/speex-dev</a>
</pre>
    </blockquote>
  </body>
</html>