[Speex-dev] DPLL in aec samples
steveu at coppice.org
Sat Nov 12 18:15:05 PST 2005
Jean-Marc Valin wrote:
>OK, I'm tired of arguing. All those who think they're going to do AEC on
>different un-synced cards, just go for it. However, please do not
>complain and/or ask questions about that on this list. AEC is already a
>hard enough problem when you have a sane sound setup that I see no point
>in trying to do anything with drifting clocks.
>As for soundcards with different clocks for in and out, I don't buy
>this. It would cost the manufacturer an extra clock *just* to make
>capture and playback out of sync? Now maybe Windows (or the card itself)
>cannot start playback and capture at the same time. That actually
>doesn't matter at all because it only introduces a *constant* delay
>between the signals.
The multiple clocks things sounds weird at first sight. However, it does
appear to be the case, and for a genuine reason. Most chips now have a
SP/DIF input (whether the card exposes this or not) which needs to be in
sync with the local A/D sampling. Because the card must slave to the
SP/DIF for digital audio, all the analogue audio slaves too. When the
digital input is not present the local PLL just free runs. It would make
sense for logic on the card to say "no digital input, so lets lock to
the local D/A clock" but it seems like they don't.
The rest of what you said is perfectly true. Nobody has devised a form
of EC that will work with free running clocks, and I cannot imagine how
such a thing would ever work. Trying to re-sample the received data to a
rate identified by a software PLL, while not impossible, sounds like a
path to pain and misery.
More information about the Speex-dev