[linux-audio-user] Outputting same sound source to multiple cards simultaneously

Sampo Savolainen v2 at iki.fi
Wed Jan 10 15:43:39 EST 2007



On Wed, 2007-01-10 at 08:38 -0800, reuben firmin wrote:
> 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. 

There are programs which work around this issue by resampling the stream
to the other sound card on the fly. These systems can work pretty well
and can be a true solution when you can live with the loss of quality.

I'm pretty sure there are applications which attempt to match sound
cards which are not synched, but i wouldn't bet on finding an
application which does /exactly/ what you are looking for.

> I touched on this above. So how do I sync the cards? Is there a
> specific method to do this with alsa?  

To sync cards, both cards need a common clock source. This is done in
hardware. Professional soundcards use a protocol called "wordclock"
which uses a terminated BNC cable between the cards to transmit the
clock impulses. This can't be done in software.

> 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. 

Don't forget that your computer is 50% hardware. Not everything is
controlled by software. The clock impulses I'm talking about are the
clock impulses which trigger the AD / DA converters. The equivalent in a
wallclock is the actual clock crystal which drive the mechanism.


  Sampo




More information about the Linux-audio-user mailing list