These Roots Grown Deep - collaboration

Very lucky to collaborate with Nick Zoulek on this project, a music video for his solo bass saxophone piece, "These Roots Grown Deep." I modified artist Erwin Redl's large LED installation "Benchmark" to become a sound-reactive, "performable" wall of colored light.

We performed the piece together (I was "playing" along on a MIDI keyboard mapped to control the installation) and Michiko Saiki put together this beautiful documentation video. The audio is all one take with no overdubs (though several microphones were used and creatively mixed together for the final result).

Nick has launched a Kickstarter campaign to fund his forthcoming album "Rushing Past Willow," on which "These Roots Grown Deep" will appear along with 11 other tracks and other artistic collaborations. Check it out.

root system (for Harry Bertoia) Process

One of Harry Bertoia's "sonambient" sound sculptures sits on display at Bowling Green State University. However, its resonant tines remain sonically isolated in a courtyard outside the Dorothy Uber Bryan Gallery lobby. This installation imagines that the sculpture has sonic “roots” extending through the window. As the roots creep further into the lobby, a branching system stretches recordings of the sculpture in time and pitch.

reversible reaction

reversible reaction takes its inspiration from the chemical phenomenon in which reactants and products can form each other, oscillating between chemical states. Contrasting sonic and visual environments create an abstracted microscopic world in this installation: molecular bonds join and break, atoms float in suspension, and the environment changes states when “catalyst” participants disturb the system’s equilibrium.

reversible reaction contains several interactive elements. The most salient is visitor motion tracking with a Kinect infrared camera. Visitors in the space directly affect the installation, switching it from state to state depending on criteria related to their position – in relation to each other and the space itself. Depending on the number of visitors within the space, the criteria adjusts to keep the installation oscillating at a fairly consistent rate.

Example criteria that cause the installation to switch states:

·  The space has the same number of visitors for a certain amount of time.

·  The space has no visitors for a certain amount of time.

·  The number of visitors exceeds a certain threshold.

·  A visitor steps into a randomly designated area in the space (changing after it is triggered)

·  If the distance between a pair of visitors exceeds a certain threshold, the state changes. 

A GUI for this component allows for tweaking of these elements in real time (including the visitor number thresholds, distance tolerances, and a “speed limit” on the rate of change). The goal is for the visitor to be aware they are influencing the installation’s state without being certain of its mechanics, allowing them to experiment to uncover the conditions of change.

The rest of the interactivity occurs among the sonic and visual elements of the piece. The audio for each state is algorithmically layered from prerendered soundfiles in real time, creating a non-repeating aural component. Gradual volume changes, alternation and phasing of sonic events, and harmonic changes create “concentric” time scales that add variety over time to the general sonic atmosphere of each state.

2.1 channel audio
Max/MSP (environment control)
Processing, After Effects (animations)
MadMapper (projection mapping)
Arduino (LED lanterns)
Kinect and KVR Tracker (motion tracking)
Logic (sound design)

Reconstructing Ligeti's "Poème Symphonique" for 100 metronomes

This post is adapted from the paper presentation I gave at the György Ligeti and the Future of Maverick Modernity conference in Maccagno, Italy in July 2014. 

An iteration of the piece from the digital reconstruction environment, with animation by Josh Simmons.

The "analog" realization.

Gÿorgy Ligeti’s 1962 composition for 100 metronomes, Poème Symphonique, owes much of its success to its presentation as a ridiculous spectacle. But no piece in Ligeti’s catalogue better distills the composer’s fascination with chaos, order, and broken systems. The piece, notated as a short text score, lasts as long as it takes one hundred mechanical metronomes, all set in motion at the same time, to unwind and stop ticking. Thus, the shape and energy of the piece, if not the duration, is always the same: a tendency towards sparser texture and eventually silence as the metronomes unwind.

However, with the obsolescence of the mechanical metronome, gathering enough instruments for a performance proves difficult. Even in 1962 when the "instruments" were certainly more common, Ligeti devoted a large portion of the score to informing the presenter about how one hundred metronomes may be acquired – also going so far as specifying that each performance be dedicated to those who contributed their personal instruments or helped procure them:

On each [performance] the work is dedicated to the person (or persons) who have helped to bring about the performance through the contribution of instruments, by any means whatsoever, whether it be executive council of a city, one or more of the music schools, one or more businesses, one or more private persons.

This project, a reconstruction programmed in Max/MSP, attempted to model Ligeti’s famous piece. Though it certainly loses the absurd theatricality of the intended realization, it is simple to recreate the piece in real time and experience a simulation of the world that fascinated Ligeti throughout his musical career. Because Poème Symphonique is dependent on the eventual release of mechanical tension in its “instruments,” a main goal of the digital model was to imitate the behavior of mechanical metronomes as closely as possible.


 Ligeti specifies a few conditions that gave a good place to start in programming the reconstruction.

The work is performed by 10 players under the leadership of a conductor . . . Each player operates 10 metronomes . . . The metronomes must be brought onto the stage with a completely run-down clockwork . . . the players wind up the metronomes . . .  at a sign from the conductor, all the metronomes are set in motion by the players.

Perfect: Max functions best as a modular programming environment, so each “player” of ten metronomes was treated as a replicable unit, controlled by a main “conductor” module. Here is a general schematic of the architecture of the program:

The “starter” module, analogous to the conductor, designates the length of the piece and one of the two performance modes. sending information to each of the players and their metronomes. The player modules then select a tempo for each metronome in the group and distributes them to the instruments depending on the performance mode selected. Each impulse of a metronome in tempo is sent to a synthesizer, which creates an audible “clack.”


a detail from the random tempo module for each "player" group of 10 metronomes.

The most variable element then is the tempo of each metronome. Ligeti specifies two slightly different modes of performance in his score, each presenting unique programming challenges, discussed below. In both performance modes, each metronome is assigned a tempo randomly selected from the thirty-nine standard metronome markings available, ranging from 40 to 208 beats per minute. Many mechanical metronomes have grooves in the length of the pendulum’s arm that preclude tempi in between these markings, and so this limitation was implemented.

Fortunately, more refined mechanical metronomes do not decelerate as their wound spring loses tension. Therefore, there was no need to account for this variable in imitating a mechanical metronome: the piece could be simulated by assigning a set number of impulses to each metronome – “higher tension” is simulated as a greater number of impulses. When each metronome reaches the specified number of impulses, it shuts itself off. Credit goes to Dan Tramte for this particular idea – he made his own reconstruction in Max which he was gracious enough to send to me.

Performance Modes

There are two possible ways of winding the metronomes specified in the score. The first was pretty simple:

"All metronomes are wound equally tightly. In this version the chosen metronome numbers (oscillation speeds) wholly determine the time it will take for the several metronomes to run down: those which swing faster will run down faster, the others more slowly."

Equal tension was simulated by assigning the same number of impulses to each metronome, regardless of tempo. A module randomly selects a length for the piece (between 1 and 5 minutes in the original implementation). The smallest number of impulses possible is 40 (the slowest possible tempo setting multiplied by number of minutes), so the given “minutes” value is multiplied by 20 (since one cycle of a metronome has two impulses) and distributed to every metronome. Therefore, the metronomes set at faster tempi run down more quickly than those at a slower tempo since they all have to complete the same number of impulses. 

The second performance option Ligeti specifies is a bit more complicated:

"The several metronomes of a group are wound unequally: the first of the 10 metronomes the tightest, the second a little less, the tenth, the least tightly. Care must be taken, however, that the winding and the regulation of the speeds of the several metronomes are carried out completely independently of each other. Thus the metronome in each group which has been most lightly wound must not be the fastest or the slowest in its oscillation."

In this case, both tempo and tension, or number of impulses, are variable.

"Tightness" values - the maximum number of clicks is read from this table and randomly distributed.

"Tightness" values - the maximum number of clicks is read from this table and randomly distributed.

When this mode is selected, the maximum number of impulses is randomly chosen from a table (from between 40 and 100 clicks) and sorted in descending order. If these sorted numbers were distributed to the metronomes in the same way as the first mode, the last metronomes playing in each group would still be the ones with the slowest tempo.

Therefore, the sorted list of tension values rotates 5 positions to the right, so the median value leads. The sorted list of tempi for each group of 10 metronomes rotates 3 positions to the right. This ensures that the relationships of the longest-lasting metronomes – that is, those with the most tension – are neither the fastest nor slowest of each group.

Delaying and Clacking

There is a performance limitation in the original piece – the players cannot start all ten of their metronomes at once. Ligeti anticipated this and offered a bit of advice:

"To [start the metronomes] quickly as possible, it is recommended that several fingers of each hand be used at the same time. With a sufficient amount of practice, the performers will find that they can set 4 to 6 instruments in motion simultaneously."

When the piece is initiated, 4, 5, or 6 metronomes are started, and after a delay from 2-4 seconds, the rest of the group begins:

The delayer module.

The delayer module.

Each metronome impulse triggers a pulse, output through a resonant filter and summed with a burst of filtered noise for color.


An individual metronome synthesizer.

The center frequency of this filter varies from one metronome to another, accounting for the different-sounding brands of metronomes that one would have to acquire for an actual performance! These synthesized impulses could certainly be substituted for samples of mechanical metronomes – and indeed, when trying to model physical metronomes in other ways, why exclude their sound? I wanted something a little closer to what we might hear in a digital metronome, as a sort of bridge between the physical and mechanical worlds. But the sound is not so important as the texture, and could easily be replaced with playback of sound files.


This project is simply an exercise in trying to capture the variable elements specified in the score so that one may recreate the piece dynamically with ease. Of course, the patch's output (in terms of the timing of the metronomes) is still a bit too polished to completely represent the chaotic conditions present in a performance with mechanical metronomes. What if the players, despite operating under the first mode, do not quite wind all the instruments equally? What if one player is quite slow in starting all the metronomes, or one of the arms on a donated instrument is a bit rusty and slows down quickly?

A primary assumption – and certainly a contributing factor to the piece’s traditional realization – is the imperfection of mechanical and human systems. A digital reconstruction by design cannot account for these sorts of microscopic but nonetheless significant variations.

Yet its concept is more relevant than ever to a current generation of sound artists. The limitations of technology and the flaws in their systems guide the whole concept of Poème Symphonique, as for the work of many sound artists working today. Artists like Jeff Carey, Tristan Perich, and Toshimaru Nakamura deliberately use digital artifacts, extremely limited digital sound, or noise created by signal chains to craft music. I often wonder how the ever-playful Ligeti would experiment in this vein if he had spent time experimenting with digital technology.