News Archive

The generative composition divide

Or, how to share your algorithms with the wider world.

The concept underlying Variable 4 is the integration of sensors and algorithmic processes into a live piece of music, some of whose parts are precomposed and some of which are driven entirely by chance processes (relating to weather conditions: wind, humidity, precipitation, air pressure…). As we first discussed the piece, the question soon arose of how to effectively collaborate in a compositional process which requires equal amounts of production-grade recording and powerful generative capabilities. I’m a coder by training, with perhaps more experience with the open-source SuperCollider engine; James, being a Real Composer, is less keen on staring at reams of program code.

maxforlive-500

So it was fortuitous that the conception of the project coincided with the release of Max for Live, the integration of Cycling 74’s Max/MSP graphical audio programming environment into Ableton Live. It seemed to fit the bill with almost spooky precision – the ability to hook into Max’s support for sensors, serial data, chance processes, surround mixing, finite-state automata and signal processing, without sacrificing the solidness, UI and powerful production tools of your typical digital audio workstation.

Better still, from the point of view of your garden nerd, is that it’s possible to seamlessly integrate proper code, with objects such as Max’s js for JavaScript scripting to fully-fledged C externals. We’re looking to use Nick Rothwell‘s excellent jython package for Python scripting, in which everything seems that little bit too easy.

Screen shot 2010-02-05 at 20.14.59

So, sensors take data from the environment, send them via parameters to some Python scripts, which do the algorithmic magic to send to Ableton to trigger whatever samples and synthesised elements we’ve developed in the meantime. Neat. As we go, we’ll release any useful patches of source code under free licenses for re-use in the wider world… some more on this shortly.

After beginning to delve into Max for Live, it’s clear that it won’t quite be plain sailing. There are issues – its lack of proper inbuilt surround mixing, for example, is causing us to resort to some peculiar hacks for the 8-channel mix that we’re currently working with. It’s also not the most stable environment in the development stage, though finished patches seem to work fairly seamlessly. We’ll be continuing to document and publish the process as it develops.

About Variable 4

Variable 4 is an outdoor sound installation that translates live weather conditions into an ever-changing piece of music, using weather sensors and custom software to generate and recombine thousands of musical fragments. Read more about the piece...