Tertulia a large-scale art installation / performance that was executed in the Mirogoj Cemetery in Zagreb, Croatia. The project was a collaboration between visual artist Eduardo Molinari and composer Nicolas Varchausky (with additional help by Michael McCrea). For for information, see Nicolas Varchausky's page on the project
My role was a lead software engineer for the sound component of the piece. The sound component of the piece diffused a series of short compositions and environments through a 40 speakers spread over several acres throughout the cemetery. The sounds were generated live, on two synchronized computers running SuperCollider.
The piece provided a mountain of technical challenges. Nicolas wanted exacting control over the diffusion of sounds through the space, but the speaker setup was irregular, following the layout of the cemetery's paths. As a result, we worked together to design different spatialization models for each section of the piece, and created a software framework where these could be easily manipulated and switched out on the fly.
Because we had less than 24 hours in the space itself to prepare, I designed a virtual version of the speaker setup, adjusting delays, filtering, and other distance cue's for each speaker and ambisonically mixing down to headphones. We could then hear how the piece would sound like at any place, facing any direction, or even walking along the paths of the cemetery.
Each section of the composition, which contained more than 3 hours of material total, had been composed at different times, and with radically different coding styles and toolsets. I created a simple set of tools for cueing, performing, and adjusting each section on the fly at performance time. As a result we were able to make large-scale modifications to the sections of the piece while on site, or at performance time.
The system as a whole was run on two computers, running two MOTU's each. The computers had to be precisely synced, both in terms of clock time, but also files, instruments, parameters, and even seed values for random number generators had to be mirrored.