[linux-audio-user] Multiple (delta xx) cards

Mark Knecht mknecht at controlnet.com
Sun Jul 13 16:01:01 EDT 2003


>
> I don't understand this whole 'drift' thing. If I'm able to listen to a
> previously recorded drum track and record a guitar track over it (in
> sync with the recording) with either card, how is it possible for them
> to be out of sync with each other?

Peter,
   It's easy for people to not see this problem the first time they look at
it, but it's usually not that difficult to explain, given a bit of basic
engineering background.

   All of these sound cards have oscillators on them to allow them to sample
and playback at a given rate, such as 44100 Hz. the problem is that no two
oscillators (or the crystals that drive them) produce EXACTLY 44100 cyles
per second. They are spec'ed to be within a certain tolerance, like 1%, or
+/- 100 parts per million, but the point is that they are not creating
exactly the 'right' number of cycles per second.

   With this in mind, if you have two sound cards (same models, different
models, it doesn't matter) and they run from separate clock sources, then
one of them might be operating at 44099 cyles per second, while the other is
operating at 44101 cycles per second. If this was the case, then (in
differeing by 2 cyles per second) after 22050 seconds they would be out of
sync by one complete second. (The slow one would be one second behind.)
Since the human ear can pick up very minute differences in time, the effect
becomes noticible much more quickly than that though, and unfortunately,
most crystals will be much further off than 1 cycle per second from the
spec.

   The reason you can play the same track back, over and over, and even on
different sound cards, is that while 44100 samples 'represents' on second,
it may not 'take' on second to play back. You ear is pretty insensitive to
the idea that a song played on your CD player in the house takes 3:49.203
seconds, while in the car it might take 3:49:542 seonds. We are just not
sensitive enough to hear that, although the pitch in the house would be
measureable as slightly higher.

   All this said, it is NOT true that you cannot use two (or more) sound
cards at the same time. You can, but they have to be clocked from the same
clock. you can accomplish this on any pair of sound cards that support the
Word Clock interface, and I've been able to do it over ADAT interfaces with
multiple cards, but that's not for the uninitiated. ;-) It's harder to set
up.

   I hope this helps clarify the physical reasons that this is difficult.

   There is a software reason also. Linux/Alsa will onlt interrface to a
single clock, so clocks being generated by two sound cards are not something
that Alsa is designed to handle.

Cheers,
Mark






More information about the Linux-audio-user mailing list