[linux-audio-dev] Synchronizing two Delta 1010 with ALSA ?

Benno Senoner sbenno at gardena.net
Fri Apr 11 11:41:00 UTC 2003


Thanks alot Martin and Paul for the useful hints,

My questions: 

Basically the impossibility to do sync-start on multiple delta 1010 cards
is because the hardware lacks the ability to do so ?

de m-audio site/manual talks about
"sample accurate sync between multiple cards" but I guess this means
only that once started the frequencies do not drift but there could be
a small offset between the single channels.

Assuming there is a small offset when starting the cards, one could
assume too that (if you run the audio init code SCHED_FIFO) it would
be quite small (in order of a few samples).
This means that if you use this approach:

while(1) {
 snd_pcm_write_to_card_1();
 snd_pcm_write_to_card_2();
}

the small start offset would mean that one of the two card audio buffers
are a bit less filled than the other one and like Martin has said,
as long as you do not need sample accurate sync start it would work ok.

Paul: sorry I did not know that ALSA allows you to treat two cards as 
a single logical card.
As said it has been about two years I last used the ALSA API and many
things have changed since then.
Are there some online resources available that describe how to do this
card linking ? 
Are the cards then started in sync (or near in sync for cards that do
not support sync start) ? 
BTW: what kind of cards support multicard sync start ? RME ?

Regarding the SPDIF cable between the two cards can I use a common
cinch mono cable or must a SPDIF cable be shielded and/or have a
precise resistance ? 

Note: In my case I do not need sample accurate sync but I was just curious
if it would be possible to do that and/or if a single threaded audio app
could experience problems in presence of playback start offsets.


I searched the net for postings or notes about sync start
with the delta  1010 but I haven't found any except this

(article from year 2000)
".... Midiman UK told me that the current drivers can already keep four cards in
perfect sync, but there are some fixed offsets between them; this will be
overcome in a future driver release. ...."
see here:
http://www.sospubs.co.uk/sos/jan00/articles/midiman1010.htm

So I was wondering what "overcome" would mean in this case: starting
the two cards as close as possible in order to minimize offsets or
using some adaptive algorithm that (assuming that the hw allows it)
measure the dma ptr offsets and adjust them accordingly.


again thanks for your useful infos.

cheers,
Benno


-------------------------------------------------
This mail sent through http://www.gardena.net



More information about the Linux-audio-dev mailing list