Task 1 is learning all about Jacktrip, testing it at CMU, and finding or writing instructions on how to use it for us and others.
Task 2 is looking for ways to automatically configure audio (Jacktrip) and video (to be selected by video analysis group).
Task 3 is teaching video operator and audio operator for rehearsals and concerts (if those people are not in this group) how to automatically and/or manually configure audio and video connections.
The required installations needed are as follows:
NOTE FOR LINUX USERS
The following are instructions specific for mac. If you are on a linux machine, use your distribution's package manager (apt-get, yum, synaptic etc.) to get these 3 requirements and skip to Running Jack through Qjackctl.
Jack (Jack Audio Connection Kit) is essentially an application for connecting your sound card to 'Jack aware' audio programs like 'Jacktrip' with very low latency. Download it here: MacOS 10.6-10.7 or MacOS 10.4-10.7. Unzip the download and install by clicking the Mac OS X installer package. Unless you know otherwise, just accept all the defaults for the install. You will be required to reboot your computer after the install.
jackdmp
the Jack application, will be installed here: /usr/local/bin/jackdmp
Jack itself doesn't have a graphical user interface, so it can only be used from the command line. But, see Qjackctl below for an essential GUI. JackOSX comes with a GUI called JackPilot. It is best to use Qjackctl instead.
Qjackctl is a front end GUI for Jack (jackdmp). It allows you to configure Jack parameters like sampling rate, buffer size, and to select an audio device. It also provides a means to start and stop Jack, monitor its status, and make connections between applications (like jacktrip) and audio devices. A binary can be found here: Snow Leopard/10.6.x or Systems Older than Snow Leopard. Double click the dmg download file to open. Install Qjackctl by dragging the icon into the Applications folder.
JackTrip is the program responsible for the routing of audio streams thorugh the network. In order to install the program, download and unzip this file. jacktrip
is a simple unix binary which needs to be installed from the Terminal.app program. The instructions can be found in the "INSTALL.txt" file, which comes with Jacktrip. They are quoted here (bin/ in the line "go to bin/" refers to the "bin" directory in the downloaded and unzipped file tree):
sudo cp jacktrip /usr/bin/
(enter your password when prompted)
sudo chmod 755 /usr/bin/jacktrip
(now you can run jacktrip from any directory using Terminal)
Double click on the Qjackctl icon in your Applications folder. This does not start the Jack server, it just starts the GUI called Qjackctl. It looks like this (notice how it says 'Stopped'):
Click on the "Setup" button which will open this window with default settings:
Change the following:
/usr/local/bin/jackdmp
coreaudio
instead of alsa
>
button which give you choices of available interfaces (e.g. MOTU, Edirol, Built-in). These must be configured, or Jack won't work.256
. This is the buffer size and will determine the latency.44100
. This determines the bandwidth of the connection.Note: Both sides of a jacktrip connection must have the same buffer size and sample rate
The window should now look like this:
Now save the configuration by clicking: OK.
You can click on each client to show individual channels and you can drag connections from the left pane to the right pane. Very easy. But before you start to connect applications together you have to let your Mac know that it should send Core Audio audio to Jack itself...
To run Jacktrip as a server, make sure qjackctl is running and started, then enter the following into a terminal application:
jacktrip -s
Upon a sucessful set up the follow message should prompt:
SETTING ALL PORTS
Setting JACK Process Callback...
SUCCESS
---------------------------------------------------------
The Sampling Rate is: 44100
---------------------------------------------------------
The Audio Buffer Size is: 256 samples
or: 512 bytes
---------------------------------------------------------
The Number of Channels is: 2
---------------------------------------------------------
Using UDP Protocol
---------------------------------------------------------
Waiting for Connection From Client...
At this point JackTrip clients can connect to you through your IP address. After clients have connected, click the "Connect" button in qjackctl and each client will be labeled as JackTrip01, JackTrip02, etc:
You can click on each client to show individual channels and you can drag connections from the left pane to the right pane to route audio. The connection will then be reflected with a line between the connection.
To start as a client, make sure qjackctl is running and started, then enter the following into a terminal application:
jacktrip -c <host_ip> -o <port_offset>
The host_ip and port_offset will provided based on your specific orchestra. This is used in order for each client to appear as a unique connection to the JackTrip server for proper routing.
In qjackctl, click on the "connect" button. Click on the JackTrip connection under "Readable Clients/ Output Ports" and drag the connections to your orchestras assigned channels in the "Writeable Clients / Input Ports".
How do I determine my IP address?
Enter the following command into a terminal:
ifconfig | grep "inet " | grep -v 127.0.0.1 | cut -d\ -f2
Is it possible to run JackTrip on non-Unix based Systems?
Although there is support for Jack on windows, JackTrip is exclusive to Linux and MacOS.
How does JackTrip interact with Skype or iChat? Can they be run together?
From basic testing, both technologies can be run at the same time. However, extensive stress testing has not been conducted.
Can the ports for JackTrip be configured?
Yes the ports can be configured through the port offset.