On 1/10/07, Sampo Savolainen <v2(a)iki.fi> wrote:
 Example: Just after 10 seconds, the 1st card in my example will be
 emitting
 sample 441010 (44101 * 10), and the other card will be emitting sample
 440300 (44030 * 10). This means that if the original audio has been
 recorded
 at exactly 44100, the cards are already 0.016 seconds apart from
 eachother!
 (44030 is an example of a really crappy clock chip on a card, but it's not
 unheard of) 
OK, so what is the workaround? Couldn't the card that is behind be made to
catch up between songs? Couldn't every 1000th sample be dropped on the
crappier card? Etc. In any case, in your example, the cards would be about 1
second out of sync for every 20 minutes of play time. In my use case, this
really does not matter, as, again, the speakers are in different rooms. If
the software can be made to cope (which it surely should be made to, if the
problem is as prevalent as you describe) then afaic there is no problem.
Let me re-iterate: Without syncing the soundcards, this /will/ happen. This
  is not a legend or some far-fetched possibility that
people speak of but
 which really never affects real life. 
I touched on this above. So how do I sync the cards? Is there a specific
method to do this with alsa?
Just imagine two wall-clocks. Can you really expect them to keep the exact
  same time over years of continuous running without
anyone re-setting them? 
If they were hardware being run by the same software on the same PC then,
yes, I would expect them to (be made to) stay in sync, regardless of their
mechanical quirks.
Cheers
Reuben