<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<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></HEAD>
<BODY
style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 12px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"
marginheight="0" marginwidth="0">
<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>> <A
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>>
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></BODY></HTML>