[Speex-dev] Sound card problem in acoustic echo cancellation

Guilherme Balena Versiani guibv at comunip.com.br
Wed Jun 9 18:24:42 PDT 2010

Yeah, the ADC and DAC work at different rates. I really don't know why these
soundcards are designed this way, but I can tell you that this is very
common. In fact, I didn't ever find a soundcard with the same capture and
render rates.

If you want to sinchronize capture and render parts, you need to implement a
kind of buffer control, referenced as "skew control" (check it out). There
is a very common control that removes or increases the delay when there is
not enough energy on the output stream (i.e. the voice being acquired by the

But these kind of controls seem to put AEC of Speex crazy... When the skew
control occurs, normally the AEC stops to work fine.


Guilherme Balena Versiani.

2010/6/9 limaoquan2000 <limaoquan2000 at 126.com>

> Then why ONE sound card have different capture and playback rate?
> It must be ONE single physical clock generator which is used by both ADC
> and DAC
> in the sound card, isn't it?
> If you are a hardware engineer. Will you design two different physical
> clock for
> ADC and DAC seperately?
> What on earth causes this problem? Who knows its intrinsic real reason?
> Isn't there any other solutions?
> For example, I have also tested Microsoft MSN and Skype. It seems that AEC
> function of those softwares are all no problem. Their AEC are designed by
> I guess that must be some solutions.
> The solution of GIPS is only echo suppression?
> Em 02-06-2010 04:41, ce09 at polyu.edu.hk escreveu:
> > Hi All,
> >
> > I am a research associate in the Hong Kong Polytechnic University. One of
> > my research interests is acoustic echo cancellation. Now I meet a big
> problem.
> > When I was testing my own AEC module, I found that it was almost perfect
> in
> > few computers but much worse in other computers. Then I tried AEC module
> in
> > speex, it was almost the same result.
> >
> > Then I found the reason is that sound cards of most computers have
> different
> > sampling and playing rate, so it is almost impossible for the adaptive
> filter
> > to converge and reach best result. For example, long time average
> sampling and
> > playing rate of a sound card is 7999.864Hz and 7980.129Hz respectively.
> Sound
> > cards of the computers which shown perfect AEC result are the only sound
> cards
> > which keep the same sampling and playing rate.
> >
> > Then, what can I do to solve the problem? Could you please give me any
> advice?
> > BTW: I am working on Windows XP platform and I have tried DirectSound.
> >
> > Your Sincerely
> > Li Maoquan
> ------------------------------
> 网易为中小企业免费提供企业邮箱(自主域名) <http://ym.163.com/?from=od3>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20100609/c72286aa/attachment-0001.htm 

More information about the Speex-dev mailing list