Jacktrip on OS X

From CCRMA Wiki

This page describes how to set up Jacktrip on your Mac OS X machine for network performances. jacktrip is not well supported for PPC Mac's, so these instructions are for Intel Mac's only (though you could always try).

Contents

System Setup

Get and Install Jack

Find out about what Jack is here [1]. It is essentially an application for connecting your sound card to 'Jack aware' audio programs like 'Jacktrip' with very low latency. Download it here http://www.jackosx.com. 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. Best to use Qjackctl instead.

Get and Install Qjackctl

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: [2]. Find the Qjackctl section on this page. Click on the appropriate version of Qjackctl suitable for your Mac (most likely the latest version, for Intel Mac's) to download. Double click the dmg download file, to open. Install Qjackctl by dragging the icon into the Applications folder.

It's a very good idea to read the README that comes with Qjackctl, which explains some essential initial setting information, condensed here.

Open Qjackctl

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'):

Initial Configuration

Click Setup..., which opens this window with default settings:

In the Server Path field enter, instead of jackd:

/usr/local/bin/jackdmp

And for the Driver drop down menu choose: coreaudio instead of alsa. Choose your particular sound card with Interface clicking the > button which give you choices of available interfaces (e.g. MOTU, Edirol, Built-in). These must be configured, or Jack won't work.

For further refinements that are best for jacktrip we want to use the smallest buffer size possible without dropping packets, usually 128 is a good place to start. By contrast, you would use larger buffer sizes for non-real-time applications like hard disk recording, which would better by served by a buffer size of 1024, for example. Depending on the network quality, the buffer size may need to be raised (adding some latency to the system). Both sides of a jacktrip connection must have the same buffer size and sample rate. So in the Frames/Period field enter 128. And choose your preferred sample rate, in this case 44100. Leave the remaining fields unchanged.

The newly configured window should look something like this:

Get and Install Jacktrip

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):

To install (using Terminal): go to bin/ directory and type:
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)

Using Jacktrip

Much of the below information is taken from the Jacktrip documentation page [5] under the heading: Using JackTrip.