Maxtrip


Initially created as part of the SSHRC Project “Connecting Communities Through Telematic Music”, this system was further developed in response to the rising number of multi-platform telematic activities happening within the lab during the pandemic, which often involved people connecting from their home studios. MaxTrip was therefore designed to control all aspects of the JackTrip startup and connection process within Max, lowering the barrier of entry for students and performers with Max experience but without practical JackTrip knowledge. The patch also allows for greater control and flexibility of established JackTrip connections for both users and technicians, and the ability to save, load or alter aspects of the connection on the fly in an interactive fashion. The primary development contexts for this system were the Dispersion Relation X performance series, and weekly rehearsals of the Doug Van Nort Electro-Acoustic Orchestra.

The central dispersion.maxtrip ui

The system consists of three modules – the Jack server, Jacktrip, and Staging. Maxtrip uses the shell.mxo external to execute commands in separate shell terminals for each of these.

The first module allows users to start the Jack server, choosing their desired device/interface, sample rate, and frames/period.

The second runs JackTrip, with the option of server or client, hub mode, z-toggle (zero underrun buffer), q value (queue buffer length), r value (redundancy), custom remote name, and destination IP. Past addresses are stored in a dropdown for fast recall and connection. Similar output has been achieved through the development of QJackTrip which also acts as a user interface for hosting or connecting to a remote JackTrip server. This however is a separate application, where Maxtrip allows users to stay within the Max ecosystem.

A video walk-through of maxtrip staging

The staging module allows for various control over live and preset connections. Users can make alterations and “stage” their intended future connections before “pushing” these to the live connection graph. These connections can be appended to what is already connected, or sent with the “clear” message to wipe all current connections and establish the staged connections as the current live connections. Additionally, connections can be saved and recalled from both the live connection graph or from within the staging area. The staging module uses JMess, allowing for .xml storage and retrieval of desired connections.

Users are able to drag a folder of their saved connections into Max to display all viable .xml files in a dropdown which is visible when not in “Live Staging” mode. When an xml is selected, “stage” can be pressed to get a visualization of each saved connection in that file without recalling the connections into JackTrip.

Live connection graph (top) and staging connection graph (bottom)

dispersion.maxtrip also includes a session recording area where users can pass in audio from stereo sources as a fast recording solution for telematic performances. User’s are prompted for the number of stereo pair recordings they require, followed by a destination save folder.

Publication

Hoy R., D. Van Nort, “A Technological and Methodological Ecosystem for Dynamic Virtual Acoustics in Telematic Performance Contexts”, in Proc. of Audio Mostly, 2021.