<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<STYLE type=text/css> <!--@import url(D:\LMQ\LightingMail\\data\scrollbar.css); --></STYLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<STYLE>BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em};                                                  body{FONT-SIZE:12pt; FONT-FAMILY:宋体,serif;};                                                  </STYLE>
<META content="MSHTML 6.00.2900.5945" name=GENERATOR><BASE target=_blank></HEAD>
<BODY
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 12px; BORDER-RIGHT-WIDTH: 0px"
marginheight="0" marginwidth="0">
<P>From: Steve Underwood <<A
href="mailto:steveu@coppice.org">steveu@coppice.org</A>></P>
<P>> It seems some cards use a PLL for their ADC, so they can lock to
an<BR>> incoming SPDIF signal, but always use a local crystal clock source
for<BR>> their DAC. These cards do not have their ADC and DAC
synchronised.</P>
<P>Do common on-board or PCI sound card lock to some incoming signal?<BR>Yes,
there is a crystal oscillator and a PLL or divider to generate<BR>assigned clock
signal. But if playing and capture are assigned the <BR>same sampling rate, why
clock of ADC and DAC are not synchronised?<BR>1. If it is a pure hardware sound
card (no incoming SPDIF signal).<BR>Why not send ONE clock signal to ADC and
DAC?<BR>2. if it is a AC97 or HD sound card, clock frequencies of their
hardware<BR>ADC and DAC are all fixed to 48/196KHz. Then why their are still
not<BR>synchronised?</P>
<P><BR>> It seems like Skype's speakerphone works OK on these machines, so
maybe<BR>> they do something tricky to measure the slip rate and
resynchronise in<BR>> software. On the other hand, they might just fall back
to a crude echo<BR>> suppression scheme. Skype seems to do a reasonable job,
though.</P>
<P>It is difficulty to measure the accurate difference between two
sampling<BR>rate by a software in a short time. So I don't believe Skype do some
kind<BR>of resynchronise or re-sampling work.</P>
<P><BR>From: Guilherme Balena Versiani <<A
href="mailto:guibv@comunip.com.br">guibv@comunip.com.br</A>></P>
<P>> Yeah, the ADC and DAC work at different rates. I really don't know why
these<BR>> soundcards are designed this way, but I can tell you that this is
very<BR>> common. In fact, I didn't ever find a soundcard with the same
capture and<BR>> render rates.</P>
<P>If it is very common. I have tested more than 20 sound cards. Only 2 sound
cards<BR>have exactly the same capture and render rates.</P>
<P>> If you want to sinchronize capture and render parts, you need to
implement a<BR>> kind of buffer control, referenced as "skew control" (check
it out). There<BR>> is a very common control that removes or increases the
delay when there is<BR>> not enough energy on the output stream (i.e. the
voice being acquired by the<BR>> microphone).</P>
<P>Sorry, I don't think so. It will cause sudden change of the echo delay
which<BR>is harmful to the adaptive filter of AEC.</P>
<P>> But these kind of controls seem to put AEC of Speex crazy... When the
skew<BR>> control occurs, normally the AEC stops to work fine.</P>
<P>Yes, of course.</P></BODY></HTML>