<!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>> <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>
> 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>