Pattern Recognition

Text from an interview in the March 2016 issue of The Wire magazine with Emily Bick. I encourage you to subscribe!

The scene at an algorave is often what you’d expect from any good techno night – a dark room, engaging visuals, a decent, bass-heavy speaker set-up, and lots of people ready to dance. Except instead of a DJ up in a booth, or a producer tapping away behind a glowing Apple logo, performers at algoraves respond to each other and the audience in real time, often projecting the lines of code onto the walls as they type. lt’s coding as improvisation and experiment, and over the last decade and a half this kind of live coding has become increasingly visible, popping up at dedicated club nights and festivals around the world including Sonar, Ars Electronica and Transmediale.

Now Alex McLean, a research fellow in human/technology interfaces at Leeds University and one of the instigators of algoraves, has been chosen as the Open Data Institute’s first sound artist in residence, in association with Sound And Music. He had been working with live coding since 2000, when he met Adrian Ward, one of his partners in the long-running live coding ensemble Slub. “We didn’t really know what we were doing, we just had this idea of somehow wantıng to make music with programming languages. We all llstened to Autechre, and at the time the idea of the creative coder wasn’t…” he shrugs, continuing, “programmers were seen as people who implemented designs.”

Ward was doing a media arts course in Plymouth where he was introduced to generative music, “He started making his own software to generate his music, and just leaving it running on stage.” says McLean, “but when we met up in London, and started first talking about bringing this live, there was a new version of [the computer music language] Supercollider which allowed live coding, and also a new language. ChucK, came out in the States. It just seemed like there was a moment where everyone – OK, not everyone, a really small group of strange people – thought it would be a really good idea to start making systems for writing live code to make music.”

Tidal – unrelated to a certain Jay-Z connected music streaming service – is the open-source language that McLean created to allow quick- response improvisation, now used by hundreds of musicians around the world. “I felt the need to develop something that was more immediate, because I was working with percussionists and finding that it would take several minutes before I could make a sound.” Tidal uses simple, one-word commands to apply functions to a pattern, and can link several computers over a local network to sync to a control pulse.

Watching him work, chopping and changing the lines of code that controls his loops by changing a number or adding a word to change a function, is like watching a graphic designer who has memorised keyboard shortcuts and can transform an image in seconds. Complexity emerges from simple instructions. With a few keystrokes, McLean transforms an arpeggio and a simple set of beats into complex polyrhythms that pan in decaying arcs across speakers. He granulates sound patterns and reverses them, and creates blobby, queasy Aphex Twin-style textures before switching up samples to produce something nasty and sputtering, like the filthiest work of The Bug. It’s pure concentration and flow, and in an algorave setting it can throw up quite a few surprises.

As well as other coders. McLean performs with musicians who play traditional instruments, as well as live artists and choreographers. But successful improvisation depends on communication between players – and how does this square with the concentration needed to live code? He describes watching a video of a performance with collaborator Matthew Yee King, in their group Canute: “We’re next to each other on the stage, and there’s quite a lot of points where I’m iooking at him, and that performance was, I think, quite possibly the best I’ve done. There’s a lot of points where we both finish at the same time, just somehow communicate an episode so we time it and change, which has been quite rare for me.”

This kind of rapport becomes more difficuit when working with choreographers or performance artists.  He did another piece with the performance artist Suzanne Palzer, where she stepped on and off a platform. Her movement off the piatform caused the screen showing his code to go biank, and it would light up again when she stepped back on. She was, McLean says “trying to interrupt and interfere – and I was trying to remember where my code was! Suzanne’s work is about digital art but without computers, just these off and on movements.”

Apart from its use in improvising music. Tidal can be used to apply functions to patterns of any kind, not only sound. McLean will be working with the Open Data Institute to take aspects of large public data sets and represent them in new ways. In one of his academic papers that explains the pattern functions of Tidal, McLean uses visual representations – coloured blocks layered in rows to demonstrate the effects of functions on the code.

His examples look like knitting patterns, and another of his collaborative projects explores weaving. “The idea is to try to represent the weaves with code – and there are all of these problems.” he says, discussing everything from the three-dimensional nature and tactile properties of different materials to the ‘edge problem’ – many commercial textile software programmes ignore the edge of the fabric. “People think of code as being really complicated, and weaving as really simple and repetitive, but when you actually look at weaving, it’s incredibly complex.” He gives workshops to introduce non-coders to Tidal, and “people who haven’t programmed anything before start making music together in a couple of hours”, he says, smiling. “It’s kind of on the level of understanding knitting patterns or something like that.”

Emily Bick

0 thoughts on “Pattern Recognition”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.