Skip to content

Commit 8e0b3c0

Browse files
committed
cleanup netjack faq
- highlighting, formatting - slightly reorder paragraphs for better reading flow - add TODO heading for zita-n2j
1 parent 2a0b8fa commit 8e0b3c0

1 file changed

Lines changed: 40 additions & 34 deletions

File tree

faq/netjack.md

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,18 @@ title: "How do I use JACK over a network?"
66
# How do I use JACK over a network?
77

88
Before we move onto answering the question "How do I use JACK over a
9-
network?", we must first deal with one of the unfortunate ugly realities of
10-
the open source world: choice. There have been several efforts to provide
11-
JACK-over-a-network:
9+
network?", we must first deal with one of the unfortunate ugly realities
10+
of the open source world: choice. There have been several efforts to
11+
provide JACK-over-a-network.
1212

13-
netJACK1, also known as "netone" Designed and implemented primarily by
13+
The most important thing to realize about each of these alternatives is
14+
that they are all **mutually incompatible**. You cannot run netJACK2 on
15+
one machine and netJACK1 on another, or any other combination. Both
16+
"ends" of the network link must be using the same software: netJACK1,
17+
netJACK2 or jack.trip. Each system has some qualititative differences
18+
from the others:
19+
20+
netJACK1, also known as "netone" is designed and implemented primarily by
1421
Torben Hohn, this is the most widely used JACK-over-a-network system. Exists
1522
for Linux, OS X and Windows. Can be run with and without data compression.
1623
netJACK2 Designed and implemented primarily by Romain Moret at GRAME.
@@ -19,42 +26,41 @@ Designed and implemented by the Soundwire group at CCRMA at Stanford
1926
University. Exists for Linux, and OS X. No synchronization, variable data
2027
compression.
2128

22-
The most important thing to realize about each of these alternatives is that
23-
they are all _mutually incompatible_. You cannot run netJACK2 on one machine
24-
and netJACK1 on another, or any other combination. Both "ends" of the network
25-
link must be using the same software: netJACK1, netJACK2 or jack.trip. Each
26-
system has some qualititative differences from the others:
27-
2829
## netJACK1
2930

30-
netJACK1 was originally designed to allow JACK to distribute audio across a
31-
high bandwidth local area network. Later, it was modified to allow it to use
32-
the CELT codec for data compression, thus allow use across a wide area network
33-
with less bandwidth (and more latency and possible data loss). It uses a
34-
master/slave design in which a single machine runs a JACK server that is
35-
connectved to sound card (the "master") and any number of other machines
36-
function as slaves.
31+
netJACK1 was originally designed to allow JACK to distribute audio
32+
across a high bandwidth local area network. Later, it was modified to
33+
allow it to use the CELT codec for data compression, thus allow use
34+
across a wide area network with less bandwidth (and more latency and
35+
possible data loss). It uses a master/slave design in which a single
36+
machine runs a JACK server that is connectved to sound card (the
37+
"master") and any number of other machines function as slaves.
3738

3839
## netJACK2
3940

40-
Like netJACK1, netJACK2 was primarily focused on allowing JACK to distribute
41-
audio across a high bandwidth local area network. However, it has the
42-
additional property of having a "discovery" system so that both of the ends of
43-
the connection can find each other more or less automatically. When
44-
discovered, each slave appears as a new in-server JACK client. It has no way
45-
to use data compression for use in wide area networks, and cannot tolerate
46-
packet loss. It uses the same master/slave design as netJACK1.
41+
Like netJACK1, netJACK2 was primarily focused on allowing JACK to
42+
distribute audio across a high bandwidth local area network. However, it
43+
has the additional property of having a "discovery" system so that both
44+
of the ends of the connection can find each other more or less
45+
automatically. When discovered, each slave appears as a new in-server
46+
JACK client. It has no way to use data compression for use in wide area
47+
networks, and cannot tolerate packet loss. It uses the same master/slave
48+
design as netJACK1.
4749

4850
## jack.trip
4951

50-
jack.trip was originally created for streaming relatively large numbers of
51-
channels across a high bandwidth wide area network. It has been used multiple
52-
times to stream 16-24 channels of uncompressed audio across Internet2 (a high
53-
bandwidth "version" of the internet generally only accessible to universities
54-
and research institutions). It doesn't care too much about relatively high
55-
latency (say, 100msec) which makes it very useful for some purposes, and not
56-
for others. It doesn't try to provide synchronization between the two ends of
57-
the link, and instead resamples to keep things reasonably aligned.
58-
Fundamentally, it just connects two independent JACK servers running on
59-
separate machines rather than using the master/slave design of netJACK1/2.
52+
jack.trip was originally created for streaming relatively large numbers
53+
of channels across a high bandwidth wide area network. It has been used
54+
multiple times to stream 16-24 channels of uncompressed audio across
55+
Internet2 (a high bandwidth "version" of the internet generally only
56+
accessible to universities and research institutions). It doesn't care
57+
too much about relatively high latency (say, 100msec) which makes it
58+
very useful for some purposes, and not for others. It doesn't try to
59+
provide synchronization between the two ends of the link, and instead
60+
resamples to keep things reasonably aligned. Fundamentally, it just
61+
connects two independent JACK servers running on separate machines
62+
rather than using the master/slave design of netJACK1/2.
63+
64+
## zita-j2n
6065

66+
TODO

0 commit comments

Comments
 (0)