Tuesday, December 11, 2007

From Scratch - A Conversation with Andrew Sorensen

Andrew Sorensen is an Australian musician and programmer, author of the Impromptu live coding environment as well as a live coding musician of note. I recently caught up with his latest work, documented as screencasts on his site. In A Study in Keith Sorensen builds a Keith Jarrett machine that juxtaposes two linked layers of performance - qwerty and (phantom) piano keyboard. Stained (below) is a striking twist on the "transparent" aesthetics of live coding, as Sorensen uses Impromptu to draw in, and manipulate, the code window, hooking the graphics into the musical algorithms. These works demonstrate (for me at least) how live coding can be honed to a fine point, as a performance form. They're improvised, but also controlled and restrained; they work well as music, but clearly the real performance here is also in the developing code structures. It's in the combination of those two structural levels - the emotional impact of tonal music and the abstract, formal domain of code - that these works are really strong. In this conversation Sorensen touches on the live coding scene, performance, craft and virtuosity, code as score, coding without computers and algorithm as thought


MW: I saw that you went to the LOSS livecode festival - how was that? What's that scene like?

AS: Actually LOSS was fantastic. I was a little concerned at first because the number of attendees was very low (20 ish) but this ended up being one of its real charms. It was a really on the ball crowd and so the general level of conversation during the 3 days was really excellent. It was great to see everyone perform, particularly SLUB, as it was Alex Mclean’s “Hacking Perl in Nightclubs” paper that initially caught my interest. I would have enjoyed seeing a few more from-scratch live coding performances. From memory there were only 3 of them - Fredrik Olofsson, Graham Coleman and myself. Most of the other performances used pre-programmed material - which I should emphasise is still perfectly valid but I was hoping to see more from-scratch work. I should also mention that Ross Bencina and Robert Atwood both performed from-scratch live patching works. (Ross in Audiomulch and Robert in Pd).

One of the great things about that scene though is the general competency, both artistic and technical. It’s hard to find people competent in both areas. I think one of the things that emphasises this for me is that most of these guys build their own environments. And these are good environments displaying strong technical competency. Yet almost none of these guys are working as professional programmers, choosing instead to concentrate on artistic and academic projects when they could all be out earning squillions as programmers. This focus on the creative and dynamic use of computation really shined through for me at LOSS. Of course the downside is that live coders are all broke... Of course there is a history of broke hackers but that's another story.

MW: I'm attracted to live coding for the same reason - a sense that these artists are something like virtuosi in their field. But then I'm very interested in what that means, to be a virtuoso live coder - and whether it means something different in a small, expert gathering such as LOSS, to what it might mean in a different context.

Good question. I think one thing worth thinking about though is that there are a lot of people in the world with some programming experience these days. Most of the time this is at a pretty basic level, some VB scripting in Excel for example but still the number is growing rapidly, especially with younger generations. I guess in short the number of people who have a basic conception of what's going on (even if they don't understand any of the specifics) is quite high and is growing rapidly. How many people at an Australian Chamber Orchestra concert have ever played the violin - still this doesn't stop them from being mightily impressed by Richard Tognetti. In this sense of course small expert gatherings are always going to be ... well ... small.

Another interesting aspect is the high level of domain knowledge required. Just as music domain experts may struggle with the code’s syntax, good programmers can become just as lost trying to understand the semantics of a musical live coding performance. A musically literate crowd can often pick up on things even though they have no programming experience. If I type for example (random ‘(I ii IV V vi)) a musical audience will automatically pick up on the chord association that a programmer may not. Of course this all comes back to the types of symbolism that you employ.

MW: You also mention that many of these artists (including yourself) have made their own coding environments: how important is that? It's an interesting contrast with other genres - imagine if the first task for every young new media artist or computer musician was to write their own authoring tool from scratch! On the other hand for many computer artists of an earlier generation, this was an everyday reality.

Yeah, this is a really interesting question, and as you say certainly a generation ago this was almost always the case. I should say that when I talk about environment I don't necessarily mean a whole environment like Impromptu. Most of the time the environments I'm talking about are built on top of something else (well of course everything is built on top of something else but you know what I mean). Many of the "environments" that were at LOSS were built in Supercollider for example. So I don't think I'm advocating building everything yourself. The most important thing is spending the time to know your environment well. For example, one Impromptu user has built his own bindings to CSound. Not something I would want to do in a million years but he loves it and he's really productive with it so there's an example of an environment built on an environment. And the end result is that his live coding looks very different from mine even though we both use Impromptu.

It's an issue of fluency for me. Of course I'm a big advocate of craft so you'd expect me to say that!

MW: LOSS billed you as "one of the masters of from-scratch coding." I used to do a lot of sound work using only live-sampled material, which was a challenge - but live coding from scratch is something else. What's your interest in this approach?

Read More...