Netronomia

In 2023, I was commissioned to compose a work for a case study as part of the DigiScore Project. More details about the case study can be found on the DigiScore blog.

Project Vision

At the outset of the case study, a goal for Netronomia was to use the newly developed software (the netronome, a networked metronome) developed at UCSB to compose a multi-city, complex rhythmic study. With multiple network latencies between dis-located performers creating unpredictable and uneven temporal relationships, rhythmic accuracy is impossible unless the audio signals’ latencies are adjusted to a least common temporal denominator. Thus the netronome is intended to serve as a tool with which we can calibrate the timing relationships and enable multiple musicians on the network to play rhythmic music together, yet apart.

In creating the piece, I seek to further develop a compositional technique I’ve come to call toporhythm (from the Greek tópos, meaning “place”), in which the patterns written for, performed, and heard in one location are not the same as those in the other locations due to an intentional rhythmically-aligned offset.

Outcome

Over the course of the project several challenges emerged, including the unexpected loss of progress on the development of the netronome, and a catastrophic flooding event that took place at my home in Vermont, forcing me to dismantle my working space for many weeks. Fortunately, after getting back up and running, the clarity afforded by a rapidly approaching deadline allowed me to focus on a specific approach in developing Netronomia, its score, and the technology used in realizing it.

A component of the research project was a journal I used to document the compositional process. An over-detailed and scattered log, I may include that on this website in the future because it houses a great deal of insight into the challenges and joys of composing for the network as a medium. But a more concise summary of the work is below.

The Score

The score for Netronomia makes use of the “rhythm necklace” as a means of visualizing repeating patterns. This representation has been used in many fields most notably by computer scientist Godfried Toussaint in analyzing musical rhythm. I find the representation lends itself well to visualizing the rhythmic offset between nodes (locations) in a toporhythmic piece.

In this score, the idea is extended by adding an additional colored ring for each performer, with the local performer’s part always on the larger outer ring. Rectangles indicate beats and are brightened at the onsets of notes. They are all laid on an underlying grid with numerical counting supports (1e&a2e&a…) on the outside of the ring. This way, it becomes easy to see the relationships between each nodes’ rhythms with accuracy. It also made the process of composition easier, as experimenting with different rhythmic offsets between nodes can be visualized with a simple rotation of a ring.

The evolution of this approach to the score came about through several design prototypes and ultimately a lot of rapid learning as I attempted to build what I saw in my head with p5.js code, while simultaneously learning how to write p5.js code.

Each performer’s part includes a pitch set in the upper left which performers can choose to play in any order or in any octave. Once initialized with the press of a button, the score automatically advances through three repeating phrases, each lasting a duration of 180 seconds.

Due to practical constraints, I developed the bulk of score’s code prior to recruiting musicians. This forced me to design it in a way that could be read and interpreted by any possible instrument. Fortunately, we were able to recruit exceptionally talented musicians - Jeannot Maha’a on cello in Santa Barbara and Hao Zhen on guqin in Beijing. Here in Vermont, I hacked my way through on an acoustic bass (again through a process of rapid learning as this was my first time doing anything other than noodling on the instrument).

Below are the scores for each performer in Netronomia as well as the recording from our performance on Jan 10/11 2024 (Jan 10th in Vermont and California, and the 11th in Beijing).

Phrase 2 from Vermont’s perspective

Phrase 2 from Santa Barbara’s perspective

Phrase 2 from Beijing’s perspective

As performed in Vermont

As performed in California

As performed in Beijing

Technical Notes

The latency calibration intended to be controlled by the netronome application was instead achieved with a Max/MSP patch (or three patches, each slightly adjusted for the local node). The very basic patch simply adds latency to the local audio signal before it is routed to JackTrip and sent over the network. How much latency to add is done through temporally tuning, which was left to an intentionally manual process involving a traditional metronome, feedback, and listening.

JackTrip was used for sending and receiving audio over the network and Loopback was used for internal routing of audio from each performers interface to Max/MSP to Jacktrip, and from Jacktrip to a DAW for recording as well as the performer’s headphones. A routing diagram can be found here: Three Node Rhythmic Topology Diagram.

And finally a huge thank you to Yuehao Gao and Ken Fields for serving as the technical masters behind the scenes in the California and Beijing locations respectively. Network music is an ensemble performance and a critical voice in that ensemble is that of the patient and diligent engineer - couldn’t do it without you.