Several things:
1. Often inputs and outputs are from and to the same audio peripheral, which
uses the same clock for render and capture. So although the clock may be off
(e.g., 47.995 kHz instead of true 48 kHz), both the input clock and the output
clock are off in the same direction by the same amount.
2. In cases like video conferencing where the input and output are on
totally different device, skew compensation is done in software. For example,
Windows offers the IAudioClockAdjustment interface at the WASAPI layer; if a
VOIP app (say, Skype for Business) detects that one particular participant’s
clock is running 0.03% slow, it can direct Windows to inject a
micro-sample-rate-converter accordingly.
3. And no doubt there are situations where an app that does not do skew
compensation tries to connect two devices that run on different clocks. In
these cases there are inevitably pops and clicks.
________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on
behalf of Tim Roberts <timr@xxxxxxxxx>
Sent: Wednesday, October 18, 2017 11:40:34 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Windows Clock Compensation
We all know that crystals are not perfect. Even if both ends of an
audio conversation agree to a nominal 48kHz sampling rate, with a 100ppm
crystal, the actual rate might be between 47,995 and 48,005 samples per
second. And if the input and the output are on different boards, they
might be at opposite ends of that range. And yet, we do not hear
complaints from users of cheap commodity hardware about periodic
glitches in their video conferences.
Why is that? Is the Audio Engine compensating for this? Is it
monitoring average byte-per-second rates over long periods and doing
smoothly adjusting the frames? Or is it sheer luck that we don't get
pops and clicks?
--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
******************
WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page:
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wdmaudiodev.com%2F&data=02%7C01%7CMatthew.van.Eerde%40microsoft.com%7Ce04d5f462bd14496954908d51657d572%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636439488899868903&sdata=j5IUCZBBNdJG3iuJWZXY9rBS8Y837Hpgk23dLudGK1Q%3D&reserved=0