Last week I had the pleasure of stopping by Dr. Abigail Fine’s graduate seminar on twentieth and twenty-first century music at the University of Oregon to give a brief talk on the basic ideas of live coding. For the past two weeks Dr. Fine and her students had been diving into electronic music, layering, and eclecticism. Live coding fits neatly into these topics: it’s the real-time creation of music through lines of code, where each change you type out is audible in the moment.
In the short talk, I showed how the live coding environment TidalCycles interacted with the program SuperCollider to manipulate a directory of audio samples. I introduced Alex MacLean’s “mini notation” rhythmic syntax, as well as the notation of Euclidean or diatonic rhythms in TidalCycles.
I demonstrated a snippet piece of mine (Old Growth), which uses samples from string quartets and quintets by Franck, Strauss, Chausson, and Sibelius, among others. The main body of the piece consists of two large “do blocks,” and in each of those blocks there are a variety of discrete changes that can be mixed and matched: rhythmic, durational, timbral, and transpositional. I imagine it as two mechanical workstations full of levers and sliders to play with: in this way, no performance of the piece is the same. The piece is also inspired by late nineteenth century string pieces as a genre: on one hand, there was a huge variety of styles and idiolects within that genre, but on the other hand, they all used the exact same instrumentation and timbres. So even though a quartet by Sibelius was quite different from a quartet by Franck, in a very basic sense they sound the same. Despite their daring, these composers were, in Michael Rebhahn’s words, “conservators” sustaining a very quirky and particular genre—hence “old growth.” A short sample from the piece is viewable above.