Category: music

Algorithmic Yorkshire

My new year’s resolution was not to start any new collaborations.

Here’s a new collaboration with Ash Sagar aka section_9 (among others):

First live date is at the Newcastle Gateshead Algorave on the 26th April. Judging by this first jam session it should be a blinder..

Cycle 22 live extension

Here’s a new work in progress, I am happy with how things are going with Tidal at the moment

(redone, less quiet..)

Test transmission 20140210


Here’s Broken, a new two-sided single out on Chordpunch.

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.


Tidal cycles continued

I’ve continued with the Tidal cycles project, pushing forward with at least one cycle per weekday, apart from one day when I made a longer recording (to appear on chordpunch soon). All the audio is downloadable and creative commons licensed (CC-BY), check the descriptions for the tweet-sized tidal code for each cycle, and follow on twitter or soundcloud for updates.

I should note that this is of course inspired by the long-lived sctweets tradition in the supercollider community.

Tidal cycles

I’ve started a twitter feed called @tidalcycles, with minimal tidal programs and their output. I’ll try to add one a day, but lets see how things go. Here’s the first couple:

brak $ let x = "bd [sn [[sn bd] sn]]*1/3" in interlace (sound $ slow 3 $ x) (sound $ every 3 (append "[bd]*6") x)

weave 4 (speed $ (1+) sinewave1) [density 4 $ every 5 ((0.25 <~) . rev) $ striate 16 $ sound"[bd sn/2]/2", sound "bd [~ hc]*3"]


A quick improv from Sheffield:

Here’s the state of my editor at the end:

d1 $ slow 2 $ sound "bd [sn sn bd]/2"

let x = density 2 $ striate' 8 0.75 $ sound (slow 4 $ "[bd bd/4] [ht mt lt]") in
d2 $ stack [every 3 rev $ every 4 (0.75 <~) x
            |+| pan "0.2",
            every 4 rev $ every 3 (0.5 <~) x
            |+| pan "0.8"
  |+| speed "1"
  |+| shape "0.6"

d4 $ every 4 (density 2) $ echo 0.5 $ brak $ every 3 (0.25 <~) $ sound "[future,odx,bd]*3"
  |+| shape "0.7"

let perc = 0.2 in
d3 $ slow 2 $ whenmod 10 12 (echo 0.25) $ density 2 $ sound (pick <$> "~ [operaesque]" <*> (slow 5 $ run 24))
  |+| slow 16 ((begin $ (*(1-perc)) <$>  sinewave1) |+| (end $ (+perc) <$> sinewave1))
  |+| speed (slow 2 "0.75 0.7")
  |+| pan "0.6"
  |+| shape "0.6"

let perc = 0.2 in
d4 $ slow 3 $ every 2 (rev) $ whenmod 10 12 (echo 0.25) $ density 2 $ sound (pick <$> "~ [operaesque]*3" <*> (slow 10 $ run 16))
  |+| slow 16 ((begin $ (*(1-perc)) <$>  sinewave1) |+| (end $ (+perc) <$> sinewave1))
  |+| speed "0.75"
  |+| pan "0.4"
  |+| vowel "i"


d6 $ whenmod 10 12 (density 2) $ whenmod 12 4 (rev) $ slow 2 $ sound "[futuremono]*3 [odx/3]"

d7 $ whenmod 6 4 (0.25 <~) $ every 4 (density (3/2)) $ slow 2 $ sound "[jungle/2]*2 [jungle/3]*2"
  |+| shape "0.7"

d7 $ (whenmod 2 4 ((|+| speed "0.9") . rev) $ every 2 (0.25 <~) $ sound "odx [sn/2 ~ sn/2]")

d2 silence

d8 $ ((slow 8 $ double (0.25 <~) $ striate 12 $ sound "[diphone2/1 ~ diphone2/3]*4")
  |+| (slow 4 $ speed ((*) <$> "[2 1] 1.5" <*> ((+0) <$> ((+0.4) <$> (slow 4 $ sinewave1))))))
  |+| vowel "i"

d9 $ slow 2 $ sound "[[odx]*4]/3 [[odx]*4 [odx]*8]/3"
  |+| speed "1"
  |+| cutoff "0.04"
  |+| resonance "0.7"
  |+| shape "0.8"

bps 1

Things coming up

I’ve been doing a bit *too* much lately. Still a lot of things on the horizon but hopefully a bit more spread out. So while I contemplate my calendar, here’s some public events I’m involved with:

  • Ongoing: I had a really great time during my residency and although I’m now back from Barcelona, the residency period continues for a couple more weeks. I hope to have a release of Texture 2.0 by the end of it.
  • 14th September: London Algorave with Slub and many friends, details to emerge…
  • 15-20th September: The Dagstuhl Seminar on Collaboration and Learning through Live Coding, which I’m co-organising with Alan Blackwell, James Noble and Julian Rohrhuber. These seminars are legendary amongst computer scientists, and we were delighted when our proposal was accepted. The seminar will bring some truly marvellous people together for an intensive week of future thinking in beautiful surroundings, and I can’t wait. This feels like the culmination of a lot of work over the years, and should be the start of many new adventures with friends old and new.
  • 28th September: The first Rafiki Jazz “declaration kriol” gig I’ll be taking part in, as part of the Sensoria Festival in my home town of Sheffield.
  • 4th October: A remote, 16 channel solo live coding performance beamed to UPF, Barcelona
  • 14th October: Off to EarZoom festival in Ljubljana, co-organising/curating an Algorave with them, where I’ll be performing with xname, as well as giving a talk and running a live coding workshop.
  • 18th October: Another Rafiki workshop and gig, at the National Centre for Early Music in York.
  • 31st October: An “algo-kriol” workshop with Rafiki Jazz at at Platforma festival Manchester.
  • 7th November: The first Sheffield Algorave, as part of a week(end?) of dorky/makerly activity happening then. Again as part of Slub and joined by many other algorithmic producers.
  • 12th November: A Slub performance in Kunsthal Aarhus, with a live coding workshop during the day
  • 13th November:Livecoding performance at Amersham Arms as part of an EAVI night.
  • 14th November: A lecture-performance at “Re-configuring the Immune System“, a student-led event at the Media&Comms dept at Goldsmiths, London. I did my PhD at Goldsmiths, looking forward to returning after far too long.
  • 18th November: (provisional): A talk on Tidal at Lambda Lounge in Manchester.
  • Some time during 21st-24th November: A durational live coding performance beamed to Piksel.
  • 28th November: A solo live coding performance at the White Building in Hackney Wick, London.
  • 12th March 2014: A talk and maybe workshop at UWE, Bristol

Death of algorave


Here’s a room recording of xname and I playing a post-algorave set at Audacious Space in Sheffield. We start making sound from about 4 minutes in.

Xname performed using handmade circuits controlled with strobes and other lights. I used my livecoding DSL Tidal, which also sent flashing patterns to a monitor flat on the table, so xname’s system could be in sync with mine. She also directly beatmatched strobe frequencies, it turns out she has a secret DJ past.

I was pretty much hypnotised by xname’s strobes while live coding and didn’t really know how it went at the time, but am really happy with this recording. You’ll have to imagine the strobes.

Declaration Kriol

img_2771I’ve been working with Arts on the Run and Rafiki Jazz on an embedded research project, developing software around group composition / improvisation sessions. It’s interesting to be developing computer language when the members of the band have different mother tongues and musical heritage, so that the technology forms part of the ongoing cultural negotiation. The technology I’m making will form the voice of an “avatar”, which will be created by puppet maker Emma Powell, and which will join the band on stage. So the technology will literally contribute another language (or at least pseudo-language, but lets see!). The project is using the Universal Declaration of Human Rights (the most translated document) as inspiration, hence the name.

My involvement is funded by the Culture, Society and Innovation Hub, University of Leeds, where my fellowship with ICSRiM is based. The Declaration Kriol project is also funded by the AHRC Transmitting Musical Heritage project, University of Sheffield.

Here is the first recording I contributed to using my new software. The track was composed and recorded in a single day at Yellow Arch in Sheffield:

So far the software organises sound sampled live from from the vocalists into a timbre space, and I’m then triggering ‘drawings’ in that space. The drawings are forming a set of symbols, I guess words are next… As you can hear, the software forms a very small part of the whole, here’s all the fine people involved, in no particular order:

Kadialy Kouyate (senegal): kora
Vanessa Rani Chutturghoon (uk/mauritius): vocals
Catherine Carr (uk): guitar
Sarah Yaseen (uk): vocals
Mina Salama (egypt): ney and kawala flutes
Jaheda Choudhury (uk/bangladesh) MC
Guery Tibirica (brazil): berimbau, percussion
John Ball (uk): tabla
Tony Koni: fretless bass
Alex ‘yaxu’ McLean: code (algo-kriol)
Arad Tamizi (Iran): daf
Monica Ross, Acts of Memory: Declaration mentor
Aysegul Thornett: documentary photography
Joao Paulo Simoes: documentary filming
Robin Downe, Yellow Arch Studios: sound engineer

Touring in the Autumn!