[linux-audio-user] Common linux audio layer

Mark Knecht markknecht at gmail.com
Sun Jan 16 11:41:47 EST 2005


On Sun, 16 Jan 2005 17:13:05 +0100, Christoph Eckert
<mchristoph.eckert at t-online.de> wrote:
> 
> > The objection I hear most is that jack doesn't support
> > network audio.
> 
> I guess it would be very easy to write a jack client which
> streams audio over a (fast) network to an other machine also
> running a JACK server. Write this JACK client, plug in your
> guitar, I'll plug in my synths and we'll try it out ;-) .
> 

Christoph,
   while I know you winked, please think back to the answer you just
gave to Harald in another thread about using Jack with two sounds card
and how it doesn't work (in general) because the two cards are not in
sync. As you (correctly) said in that answer the two cards have
different crystals on them and therefore have different time bases.
Both cards think they are doing 44100 cycles per second but one is
really doing 44099 cycles per second and the other is doing 44101
cycles per second. They don't match up. The fast machine sends the
slow machine 44101 packets, but the slow machine cannot use two of
them every second. The slow machine sends the fast one 44099 packets
per second but the fast one feels starved for two mare packets that it
will not receive.

   Please extend this idea to two machines connected by Ethernet. Each
machine has it's own sound card and each sound card runs at it's own
rate. Your machine runs at 44099 cycles per second and Janina's runs
at 44101 cycles per second. The problem is identical. (Assuming all
packets arrive at both ends.)

   The ONLY REAL-TIME solution to this problem is for the two machines
to be synced somehow so that they run at the exact same frequency.
Some high-end consumer audio equipment is including expensive hardware
for doing this via 1394 interfaces, as do some high-end sound cards
via Word Clock, ADAT, spdif or other interfaces.

   For two machines to do this at remote locations via Ethernet would
be a very interesting accomplishment. If Janina's machine was the
master machine for your session then your machine would have to
receive a sync clock via the Internet and then that sync clock would
have to control the sample rate of your sound card. I am quite
confident that none of us have hardware that would do this today. (I'd
LOVE to be proved wrong though!)

   There are non-real-time solutions for this problem that work with
media sources such as DVDs, etc., but no solution for real-time work
I've every heard of that will work for more than a few minutes other
than having a hard sync source between the two machines.

With best regards,
Mark



More information about the Linux-audio-user mailing list