[linux-audio-dev] Looking for simple and good multichannel audio soluution.

Hans Davidson harley42 at passagen.se
Wed Mar 30 23:34:41 UTC 2005

Thank you Shane and Wolfgang for your answers !
That was valuable input for me !

I visited "Jam", probably the best Music Equipment Shop in
Stockholm one or two days ago know to check the price levels
on the ADAT related hardware.
ADA8000 from Behringer seems to be a nice pice of hardware.
The price (about 279 EURO) is not very high, maybe too high
this month, though.
If I buy it, then I also need a PCI to ADAT adapter, and
eventually even with a ADAT input port to be able to use the
analog inputs on the ADA8000.
I realize that experienced Linux developers and users often prefer
to use cards of the RME (or RME Hammerfall) brand to not wasting
time or money on cards that are not supported or do not have
Linux drivers (or maybe drivers that only supports parts of the
card's functionality) and/or by one or more other good reasons.
The problem in my case is that the PCI adapters seem to be more
expensive than the ADA8000, but may be a good investment anyway
if you later want to add another ADAT based box into the system.

What may be good to have (build, buy or borrow), is some kind
of test equipment that could be used together with a ALSA base
test application to verify that the kernel module, the configured
sound system and the interface card that you (in my case: I)
already have is capable of outputing ADAT signals on the optical connection,
and then if that test is positive, it will be safer
and cheaper to buy only the ADAT based D/A conversion equipment.
I have not looked at the specifications and do not exactly
know how much electronics, like shift registers, PIC micro-
controllers and/or other things that is needed to build that
kind of test equipment.

I also find the "El Cheapo" article interresting. Of course the
instructions, and problems observed, may be based on one type of
card, but indicates an obviously working way, it seems, to use
existing onboard crystal oscilators to feed the next bord
with the clock signal and convert that boards oscilator cirquit
into an amplifier for the clock signal and making all cards
running at same speed (of course the cards must be of the
same type or at least using the same chrystal frequency).
My experience is that after inserting 3 soundcards in a single
motherboard, then I may have serious troubles to even have a
video signal during the power on self test of the computer
and/or entering the BIOS setup, those cards was not modified,
so they where probably not broken.

To bring down the costs, I am still thinking of using a fast
master computer to feed a couple of slave boxes containing a
couple of synchronized cards each. It should be possible to
synchronize all four cards, but you may need to use buffer
amplifiers and maybe a differential (ballanced) transmittion
line for the clock signal between the boxes.
All three boxes should use 100 Mbps Ethernet through a switch
using full duplex mode if possible.

If I avoid to build a virtual bigger sound card of the both
cards in a box, and instead use a couple of handles for the
pair of cards in the application process in that box, then I
expect to be able to balance the both queues for that slave box
and on the other side of the Ethernet switch, all four flows
at the master box and bring down the latancy to an acceptable
level without observing underrun errors.
To complete the intercard-synchronasation, I also want to reserve
one output channel from each card, for example a pair of left
channels and a pair of right channels, and feed them using four
resistors back into a reserved stereo input on the first slave
box to make it easy to compute the inter-card timing properties
after starting each card as a four channel output device.

I have one interesting question here. Maybe I have been too
lacy to look at the soundcard drivers and/or ALSA source code ... :

  If I configure the .asoundrc file to make a device name
  available for the four possible independent output channels
  of the physical card, is then always (when using that device
  name) all four channels started simultaneously or is there
  any practical risc that the card may start (or be instructed
  to start) the two pairs of channels (we can call them "front"
  and "rear") with some random missallignment in time ?

If I am lucky, assuming that the audio cards are supporting full duplex,
then I will have 12 free output channels and 6 free input
channels by using three computers. Hopefully I can find a couple
of old 300MHz Pentium II boxes or something somewhere for use as
the slave computers.

If I for some reason want to play preproduced digital audio streams
with all 12 channels alligned in into same phase (with much better
resolution than 1s/44100), then I may have to resample/interpolate
the digital audio streams. But I think that this is PROBABLY
UNIMPORTANT except when feeding the channels into an analog mixer
(bad idea I think) or when having a very well defined setup of the
speakers in the room and at the same time collecting (analyzing or
recording) sound with a microphone with a fixed position and
expecting to have the identical interferense patterns through
several starts of the sound system.

Best regards !
/Hans Davidson

Skicka gratis SMS!

More information about the Linux-audio-dev mailing list