Thinking Out Loud exhibition

Cm26290WYAAlLkfThe Thinking Out Loud exhibition is up! I’ve been working on this with curator Hannah Redler, during my ongoing sound-artist-in-residence at the Open Data Institute in London (supported by SaM). We’ve brought together a great group show consisting of work from some of my friends, collaborators and inspirations, in particular Felicity Ford, David Griffiths and Julian Rohrhuber, Ellen Harlizius-Klück, Dan Hett, David Littler, Antonio Roberts, Sam Meech and Amy Twigger-Holroyd.

There were many other artists we wanted to invite and include, but these pieces sit very well together to create an alternative view on digital art and open data, for example presenting weaving and knitting as digital art forms, and Precolumbian Quipu as unfathomable data.

The exhibition is free to visit by appointment, full info here.

Here’s some photos gleaned from twitter (will improve on these next time I’m down!).

Making Spicule

Algorithmic approaches to music involve working with music as language, and vice-versa, in fact music and language become inseparable. This allows a musician to describe many layers of patterns as text, in an explicit way that is not possible by other means. By this I mean that musical behaviours are given names, allowing them to then be combined with other musical behaviours to create new behaviours. This process of making language for music is not one of cold specification, but of creative exploration. People make new language to describe things all the time, but there’s something astonishing about making languages for computers to make music, and it’s something I want to share.

Here’s a recording of one of the live streams I’ve been doing while working on my solo album Spicule from my home studio:

I start with nothing, but in the last few minutes everything comes together and I have a couple of different parts that start feeling like a whole track. There isn’t really a musical structure to the session apart from the slow building of parts, and a sudden cut when everything comes together. The macro structure of the track will come later, but by a process of trying rough ideas, and listening to see where they go, the music emerges from the words.

I generally go through much the same process when I’m doing improvised performances, making music from nothing, but this feels very different.. Instead of being tied to the structure of a performance, making continual changes to work with the audience’s expectations, I’m dealing with repetitions even more than usual. I’ve started experimenting with lights, at first to try accentuating the sound but I think now more to help focus, to get inside the repetition and maintain flow. Unfortunately doesn’t quite work in the video because the sound and video are slightly out of sync.. But the left/right light channels map to the left/right speakers, and each sound has a different colour.

As live coding develops, I still really enjoy improvisation, but am finding myself doing polished performances more often, involving prepared tracks, with risk low, and the original making processes behind them hidden. This is probably for the best, but then it feels important to share the behind-the-scene improvisation and development that goes on.. My pledgemusic crowdfund is a great way to do this, thanks to the generous critical feedback, encouragement and (gulp) hard deadline.. If you haven’t joined it yet, you can do it here!

Sound to light for light to sound


I collaborated with xname on a performance as xynaaxmue on Saturday, audio+video up soon I hope.. xname performs with circuits that turn light into sound, improvising noise using stroboscopic lights. I was live coding with tidalcycles, as ever.

In the past I’ve created flashing patterns on an external monitor for xname’s circuits to feed off, check here for a recording of that one. This time I wanted to control a pair of RGB flash panels over DMX.. I used a tinkerit DMX hat for the arduino, officially retired but you can still find them online and the library is downloadable on github.

I hacked together a Tidal interface the night + morning before the conference, and it worked pretty well.. The Haskell and Arduino code is here.

With everything loaded up, Tidal code like this triggers flashes of light as well as sound:

x2 $ every 2 (slow 2) $ (jux (rev) $ foldEvery [5,7] (slow 2) 
   $ (slowspread (chop) [64,128,32] 
   $ sound "bd*2 [arpy:2 arpy] [mt claus*3] [voodoo ind]"))
  # dur "0.02"
  # nudge (slow 4 sine1)

The basic features:
  • sound – (sample name) is translated into colour in a semi-arbitrary way (a mapping which falls back on some crypto hashing)
  • pan – (kind of) pans between the two lights
  • dur – controls the duration of the flash
  • the flashes have a linear fade, which works across chop and striate
  • it is kind of polyphonic but the colour mixing can be improved.. mixing coloured light seems to get into the realm of philosophy though !

Will update with documentation of the performance itself when it’s up.

forkbombThis is how it began, with a forkbomb.. In 2001, Ade encouraged me to enter the Transmediale software art award, that he’d won the year before. I ended up submitting this:

my $strength = $ARGV[0] + 1;

while (not fork) {
  exit unless --$strength;
  print 0;
  twist: while (fork) {
    exit unless --$strength;
    print 1;
goto 'twist' if --$strength;

It basically creates a process that keeps duplicating itself, while printing out zeros and ones, creating patterns from a system under heavy load. It won (half) the prize, and ended up being part of the touring Generator exhibition curated by Geoff Cox and Tom Trevor, alongside Adrian’s auto-illustrator and work by other pretty amazing artists.

I’ve been co-curating the Thinking Out Loud exhibition at the Open Data Institute, and we’ve ended up including it in a couple of different forms.. A print of the original forkbomb output that appeared on the Generator exhibition guide, the (now rather scruffy) fanfold paper output that was printed during that exhibition, and a new print showing outputs from a range of different computers and operating systems contributed by some brave people (download PDF).

The original script, including some background and instructions for running it, is here.

Project stock check

Not much time to reflect right now, but taking some time to think about ongoing and upcoming activities at least..

Making Spicule LP is going pretty well, the crowdfund is past the halfway mark, the graphic and hardware design coming together with ace collaborators I’m hardly worthy of working with, and I’m looking forward to spending a lot more time in my studio over the summer.

My Open Data Institute sound art residency isn’t going too badly either, I’ve been working on an exhibition there called Thinking Out Loud with curator in residence Hannah Redler which opens soon. It’ll include great work by Felicity Ford, David Griffiths and Julian Rohrhuber, Ellen Harlizius-Klück, Dan Hett, David Littler, Antonio Roberts, Sam Meech, and Amy Twigger-Holroyd, and a ‘looking screen’ where I’ll be able to make my activities during the residency public, as I move from a research phase to making some strange things. I’ve also brought my 2002 “” software artwork out of retirement.

A few writing projects wrapping up – the Oxford Handbook on Algorithmic Music coming out of its formal review stage, a special issue of Textile journal coming together, polishing off an article in a special issue of Contemporary Theatre review with Kate Sicchio about our Sound Choreographer <> Body Code collaboration (deadline tonight, erp).. Plus a collaborative book project on live coding emerging nicely.

Quite a few events coming up, including organising an euleroom event, an Algorave tent at EMFCamp, and looming on the horizon — a new festival on Algorithmic and Mechanical Movement (AlgoMech for short) in November. AlgoMech will be a big focus really, but I’m on the way I’m looking forward to some collaborative performances, an audio/visual noise performance with xname (interleaved as xynaaxmue) at the third iteration of Live Interfaces, and a performance at computer club in Sheffield with Alexandra Cardenas. Hoping to play again with Matthew Yee-King as Canute soon, and maybe Slub will burst out on the scene again as well.

I’m also finding more time to contribute to TidalCycles, which is starting to feel like a proper free/open source project now, with quite a few exciting developments and side-projects spinning off it.

I’ve had a great time there, but am wrapping up my research and teaching work in the University of Leeds, just a spot of supervision to do now and I’m done. All being well, I’ll be joining a new five-year project in a research institution, starting in a couple of months time, lead by Ellen Harlizius-Klück and working also with FoAM Kernow.

That’s about it I think.. It seems like a lot, but it actually feels like everything is coming together and becoming easier to think about.. Especially the AlgoMech festival which brings together just about everything I’ve been doing and interested in since.. forever, really.. and can’t wait to get stuck into a new strand of research.

BBC Introducing West Yorkshire

Just had some fun with Joanne on BBC Radio Leeds, here’s the recording:

Inhabiting the Hack


During the latter half of 2015 I organised / collaborated with a range of “alternative hackathons” and related events re-imagining the role of technology in creative practice. I’ve now collected documentation including a range of videos on the website, it was a really great series of events to be involved with, together with dozens of really nice people. Have a look here.

Crowdfunding live coding

I’m launching a crowdfund today, for making a new album and working on TidalCycles in the process.. I’m lucky to have the support of Sound and Music, as well as the collaboration of three Sheffield institutions – Computer Club, Human and Pimoroni.

I’d really appreciate it if you backed the crowdfund, it should be a fun ride and it’d be great to have you on it!

This crowdfunding business raises a couple of questions though. In particular, how can you live code a fixed recording, what’s live about that? Also, if TidalCycles is a free/open source project with a community of contributors sharing purely for love, won’t getting money involved spoil things?

On the first point, live coding has been used in composition from the start, it’s just a nice way to develop ideas even when you are alone.. It doesn’t have to be about performance, the live feedback loop between your fingers, the code and your ears is plenty enough.

I think PledgeMusic crowdfunds in particular put a really interesting spin on this — they’re all about opening up the creative process, and making it part of the experience of music. This fits nicely with the aims of live coding, and I’ll be live streaming my composition sessions. I’m hoping this approach will actually make the music better.. It’s so easy with algorithmic music to get obsessed with some interference pattern or other, follow it up a tree of abstract possibilities, but then end up pulling the ladder up after you.. Ending up in a world of pattern that just seems like noise, unless you’ve taken the same route. Basically, I’m hoping that sharing the making process will keep it grounded.

The second point, on the dissonance between grassroots free/open source software and pay-for crowdfunding, is trickier. If I do get some money to go towards development time it would be good to share it, but we’re likely talking less than minimum wage here, and then there’s the complicated questions about who gets paid what, what are the relative monetary values of different kinds of contributions etc. I think trying to turn TidalCycles into a distributor of crowdfund cash might seriously damage the community. In any case, I’ll be sharing all the code I make as free/open source.

But then TidalCycles has never really been a software development for me, but an aspect of musical development. I can’t imagine someone getting involved with developing it who isn’t motivated by making their own music, and sharing their ideas. So maybe the easiest way of thinking about the crowdfund is as a personal musical development, which happens to have free/open source outcomes. Lets see what happens though, it’ll get more complicated later in the process when I add hardware perks.. I’ll probably open the books at some point and see what people think, but all comments are welcome.

Streaming live coding

I got a tweet the other day, pointing to a rather strange article about live coding on what looked like a fake news website designed to optimise search engine results (which I am therefore not linking to). Not only did the article contain a lot of links to the video streaming website (aimed at software developers sharing their screens, rather than live coding as we know it), it was also written by themselves. It mentioned me, but halfway through goes from talking about my live coding software TidalCycles, to Jay-Z’s music streaming service TIDAL.

spamScreenshot at 2016-04-26 16:14:56

Looking a bit closer and the twitter account which tweeted the link at me looked a bit strange, too.. Lots of links to the afore-mentioned website.


Doing a reverse image search on the image on their profile, and I find out their true identity, via a stock photo website, namely “Young man drinking water in forest, smiling, portrait.


A handsome chap, that’s for sure. This has made me wonder a bit about the strange feeling I had when I tried out streaming to this website.. There was something off about it, not only the opportunity to make yourself available for ‘private streaming sessions’ which seemed to have been borrowed from a very different business model, but also the people who would drop in to the chat, ask unrelated questions and then disappear. Just how far can these streaming websites go with bots? If in web 3.0 the users are the product, who exactly are we being sold to? Are we streaming to posthuman overlords?

Anyway I deleted my videos from this website a while back, in part due to their worrying treatment of one of their users, and these days I either stream to the friendlier (and free/open source), or to youtube live events via my own nginx server (previously).

Oxford Handbook on Algorithmic Music – draft ToC

Part of the reason I might have been a bit slow the past year or so – the draft table of contents (subject to change) for the Oxford Handbook on Algorithmic Music that I’ve been editing with Roger Dean. Amazing work by amazing people including many superheroes of mine. Still some work to do, but hopefully out this year!

Section 1: Grounding algorithmic music
1/ Algorithmic music: an introduction to the field (Alex McLean and Roger Dean)
2/ Algorithmic music and the philosophy of time (Julian Rohrhuber)
3/ Action and perception: embodying algorithms and the extended mind (Palle Dahlstedt)
4/ Origins of algorithmic thinking in music (Nick Collins)
5/ Algorithmic Thinking and Central Javanese Gamelan (Charles Matthews)

Perspectives on Practice A
6/ Thoughts on Composing with Algorithms (Laurie Spiegel)
7/ Mexico and India: diversifying and expanding the live coding community (Alexandra Cárdenas)
8/ Deautomatization of Breakfast Perceptions (Renate Wieser)
9/ Why do we want our computers to improvise? (George Lewis)

Section 2: What can algorithms in music do?
10/ Compositions Created with Constraint Programming (Torsten Anders)
11/ Linking sonic aesthetics with mathematical theories (Andy Milne)
12/ The Machine Learning Algorithm As Creative Musical Tool (Rebecca Fiebrink and Baptiste Caramiaux)
13/ Biologically-Inspired and Agent-Based Algorithms for Music (Alice Eldridge and Ollie Bown)
14/ Performing with Patterns of Time (Thor Magnusson, Alex McLean)
15/ Computational Creativity and Live Algorithms (Geraint Wiggins and Jamie Forth)
16/ Tensions and Techniques in Live Coding Performance (Charlie Roberts and Graham Wakefield)

Perspectives on Practice B
17/ When Algorithms Meet Machines (Sarah Angliss)
18/ Notes on Pattern Synthesis (Mark Fell)
19/ Algorithms and music (Kristin Erickson)

Section 3: Purposes of algorithms for the music maker
20/ Network music and the algorithmic ensemble (David Ogborn)
21/ Sonification != music (Carla Scaletti)
22/ Color is the Keyboard: Transcoding from Visual to Sonic (Margaret Schedel)
23/ Designing interfaces for musical algorithms (Jamie Bullock)
24/ Ecooperatic Music Game Theory (David Kanaga)
25/ Algorithmic Spatialisation (Jan C Schacher)

Perspectives on Practice C
26/ Form, chaos and the nuance of beauty (Mileece I’Anson)
27/ Beyond Me (Kaffe Matthews)
28/ Mathematical theory in music practice (Jan Beran)
29/ Thoughts on algorithmic practice (Warren Burt)

Section 4: Algorithmic Culture
30/ The audience reception of algorithmic music (Mary Simoni)
31/ The sociology of algorithmic music (Christopher Haworth)
32/ Algorithms across music and computing education (Andrew Brown)
33/ Towards a Tactical Media Archaeology of Algorithmic Music (Geoff Cox and Morten Riis)
34/ Algorithmic music for mass consumption and universal production (Yuli Levtov)