Graphical Mixing Interfaces with SuperCollider

The open source JackTrip quark includes the SuperCollider programs used to perform mixing on JackTrip Studio audio servers. They offer many powerful controls that can be manipulated using graphical user interface (GUI) clients which support the Open Sound Control (OSC) protocol, such as TouchOSC.

Users of the SuperCollider IDE are able to execute code directly on the servers to modify any of these controls, or change any other aspect of the audio processing. The JackTrip quark can also include custom GUIs that run within the SuperCollider application.

Setting up SuperCollider

If you haven't installed SuperCollider yet, you can download an installer from the official website.

The first time you use it, you will also need to install the JackTrip quark. Copy and paste the following code into the editor window:

Quarks.install("https://github.com/jacktrip/jacktrip-sc.git");

Select "Evaluate File" from the "Language" menu, or highlight the line and hit Ctrl-Enter to install the Quark. You should see a success message within the Post window.

Next, select "Recompile Class Library" from the "Language" menu. This will compile the source code in the quark so that you are able to use it.

If you run into problems installing the quark on Windows, this article suggests it may be caused by not having Git installed on your machine. You can use this link to download and install Git, and then try again.

 

The JackTrip Mixer Interface

The JackTripMixerGUI class provides an easy way to control the master volume, as well as volume levels for each client on managed studios. You can also use it to control panning on studios that use the "Auto-Pan Mix" with "Mix-to-Mono" set for input channels (the default).

01-Graphical Mixing Interfaces with SuperCollider

To open the mixer interface, copy the following code into your editor window and execute it using the same process as for the above "Quarks.install" command.

JackTripMixerGUI(24).open(20);

This should open the "JackTrip Mixer" window. The first number (24) controls the total number of client sliders displayed, and the second number (20) controls the maximum number of sliders it displays per row.

To connect the controls to your audio server, copy and paste your server's IP address into the text input box and click the "Connect" button. If successful, the level sliders should jump from zero up to 1.0 (which is similar to 100% volume in the web interface). Note that all the sliders will initialize to 1.0 regardless of the active values on the server. Moving the sliders should now change the volume levels for any of the clients connected to your server.

This interface is just a first step, and many additional controls (including personal mixes) are available for control via OSC. Over time, we intend to enhance this interface and build additional GUIs for controlling audio mixing on JackTrip Studio servers. We also welcome any contributions from the open source community.