I was happy to host Olivia Jack in the slaboratory (my studio in Sheffield) a couple of weeks ago, between the Live Code Summerschool and workshops at Diversityfest in Rotherham Show. Olivia is the creator of Hydra, a web-based system taking over a good portion of the live coding VJ world with feedback patterns heavily inspired by analogue video synthesis techniques. We had some time for collaboration, and recorded a couple of the things we made. Olivia worked some of her experiments in reading pixel data into kind of pattern generating machines, which she send to my laptop over the OSC protocol so I could sonify them:
There’s also some subtle audio input into the above patch, creating a feedback loop. This felt like a really nice a/v collaboration. I’ve worked with a lot of VJs and other visual artists, and this was the first time I was really looking at visual work while still focused on the code and sound. We tried a range of things but found the above minimalism approach worked great, getting to the point where it was hardly possible to edit code any more because it was so trance-inducing.
We used a HDMI capture card to combine the a/v on my laptop for the recording, which meant I had a window showing Olivia’s desktop on my screen, next to my code. This simple technological tweak helped a surprising amount. Before this I didn’t know it was possible to collaborate with a visualist on this level, because my usual focussed code+sound feedback loop is so damn engrossing. Lots to think about.
The above collab was a bit less minimal, but we tried a lot of things along the way including sampling pixels in circles, and came back to good ol’ sixteen step sequencing on three levels, mapping from brightness to audio filtering in quite a direct way. A lot of fun and the possibilities really open up when Olivia starts mixing in some Hydra patterns to mess with video.
One experiment we didn’t manage to film was using tidal.pegjs by Charlie Roberts and Mariana Pachon Puentes. It’s an implementation of Tidal’s mini-notation for polyrhythmic sequences, and although it’s still a little bit buggy (if not matching with Tidal’s behaviour is a bug) but I think has loads of potential for enabling collaboration through shared metre.
By this I mean sharing underlying a single pattern or sequence between live coders, where anyone can edit it at any time. Rather than playing the sequence directly, each person could use it as a base for pattern transformation, shifting it, doubling it up, making it interfere with other sequences / patterns and so on.. But underlying everything would be this metrical structure. The magic would then come when someone changes that underlying pattern – everything would change at once, hopefully with a perceivable relationship in terms of changing complexity, tactus/tatum and so on. A super simple idea but I think it’d be a lot of fun..
Anyway it was great to find some time to collaborate with Olivia on this, and hopefully will have some outcomes in performance when we’re next in the same city..
This is also something I want to do a lot more of. In this past I’ve organised a lot of algoraves etc where friends have travelled to perform but when I’ve hardly had a chance to talk to them let alone collaborate. So let me know if you’re passing through!
I had a nice chat with the amazing Leila Johnston recently, and she put it on the internet ! We talked about live coding, weaving and building communities. You can listen on the Hack Circus podcast website or on Apple iplayer, Spotify or playerFM, where you should definitely click subscribe.
Leila’s things are always amazing by the way, check out the Daily Leila, and all the other things. She’ll be talking about some of her AI projects in Sheffield on 12th October, at an event I’m putting together as part of No Bounds festival, more on that very soon..
The livecode summerschool a few weeks back was a huge success I thought. We had around 40 people in Sheffield, learning Foxdot and Hydra from their creators Ryan and Olivia, and learning Tidal from me and Lucy Cheesman, with the students smashing it with really great performances at the end, far beyond my expectations.
Judging by the feedback, the Tidal workshop went really well (well, all three did), with Lucy reportedly being a better teacher but backed up by my viewpoints as Tidal creator. We spent some time working up a modular worksheet-based approach, with focus on how to perform as well as the technical side of language learning, which I think went really well, and has started me thinking again about the possibility about building them up into something like a Tidal ‘book’. Lets see!
I started working on musical patterns in Haskell in 2006 (see this old blog post).
So I guess TidalCycles is now 10 years old. Happy birthday!
So it’s nice that I’ve just posted a fresh insight I just had into the way Tidal combines patterns, over on the PENELOPE blog. Pure functional pattern is the gift that keeps giving, looking forward to many more years of insights with this thing.
It was so great working with hmurd + getting two rooms of corsica filled with amazing a/v + great audience! We proved it’s possible to fill a two-roomed event in a top-notch venue with this live coding stuff, and pay everyone almost half-decently (including ourselves!).
It was also time consuming and stressful, and left no time to develop the CCAIFOOD link-up between CCAI and hellocatfood. I also feel I need to explore new ideas and in the process get some forever projects completed.
So I’m going to try to take a moratorium on algorave organisation for a while. Will still be organising some other activities – running the live code summer school, working with no bounds fest on algorave stuff (but with artist development and more diffused through their programme), and hopefully working with a Roma girls group on bringing live coding to a festival in Rotherham.. But focused on artistic development and community building rather than big algoraves (although starting advanced planning for algomech #4 already..).
I have a kind of addiction to event organisation but now I just feel I need more time to focus on my own arts research. If anyone else wants to do algoraves in Sheffield (or elsewhere) then I’m very happy to share tips + resources though! I’ll have some new projects that I could propose too :)
We’re doing a weekend Live Code Summer School in August/Sept 2019, with tracks for Hydra (taught by its creator Olivia Jack), Foxdot (taught by its creator Ryan Kirkbride) and TidalCycles (taught by its creator me). Over 40 signups already, it’s going to be intense! There’s still some spaces left for the Hydra and Foxdot tracks, full info here.
On the registration form, I asked people how we can improve access for them, and quite a few asked for a quiet area to relax. In some cases this is probably for a diagnosed condition, but it made me think of my experience in Japan, where during Kumihimo braiding tuition, I was invited to have a nap on a tatami. Joanne and Lucy said that part way through a workshop they were giving on that trip, the participants would just go and lie down for a bit.
This seems such a nice thing to do, and the relationship between resting/sleeping and learning is well known in psychology fields. Academic events I’ve attended have felt more like durational performance art than a productive way to learn or carry out research, with talks every 15 minutes (including questions), with the only breaks dedicated to necking caffeine and dry biscuits. Some people need to chill out once in a while, but more relaxation would likely be better for everyone!
This raises some difficult question about what a quiet space should be like.. How to make a quiet space where people feel safe? Should they be gender segregated? If so, how to best do that while properly respecting everyone’s gender identity? How to negotiate people who like to chill out by chatting, while others like to chill out by introspecting? What if it’s super popular? Might have to invest in some tatami mats..
Update – more discussion here
The third iteration of AlgoMech, the Festival of Algorithmic and Mechanical Movement is coming up, 16-19th May. There’ll be an exhibition, talks, workshops, concerts, and a club night with full-on algorave, all the overall theme of interlace, with various takes on movement and braiding.
January – Another busy year, starting with a cheeky Algorave in Nottingham organised by the mighty Coral Manton, a quick CCAI collab to an audience of computer games people.
Later in the month it was on to the textile centre in Haslach, Austria with the PENELOPE team, enjoying the amazing machines there including driving a TC-1 loom with TidalCycles. I later wrote a short article about this experience “Fabricating digital art“, in the book Parsing Digital edited by Sally Golding and published by the Austrian Cultural Forum.
Rolling into February, my amazing wife Jess passed her PhD viva, and I travelled up to Aberdeen for the very friendly sonADA festival, where I had fun doing a performance and workshop, and got to meet Suk-Jun Kim and the laptop ensemble Shift-Enter.
On to March, and another performance and workshop, this time in Limerick, hosted by the Digital Media and Arts Research Centre. I think this was my most enjoyable workshop ever, the students were really into it and it felt great having a solid two days to go through everything. The performance in a local pub was also an absolute blast. This was organised by Giuseppe Torres who I hear is planning a big live coding event in Limerick 2020 – watch out for that one as the craic is not to be missed. It was also great to catch up with another Limerick resident Nora O’ Murchú of Cat++ fame among other things..
I also did some big shows in march – CCAI live in the mighty Hope Works warehouse in Sheffield supporting Peder Mannerfelt, Errorsmith, and Helena Hauff… A big step up for us, with some technical problems (huge bass + dodgy usb connections don’t mix) but we managed to pull it off. Thanks to Hope Works mastermind Lo Shea for getting us involved. Then over to Southport for an Algorave takeover at the Bangface weekender. This festival is legendary and it was a huge privilege to play there! It went off pretty well with a nice crowd joining us for some solid algorithms.
This was also the month for the increasingly traditional Algorave birthday live stream, celebrating our sixth year with a pretty much continuous live stream. We kicked this off with an eulerroom in Access Space Sheffield. Check our CCAI set from this below..
April saw more performances, with a multichannel workshop and performance in Karlsruhe, connected with the ZKM open codes exhibition, where one of my old pieces forkbomb.pl was shown. I still regret not having time to look around this exhibition, which looked amazing. Thanks to Patrick Borgeat for organising the workshop + show.
Then up to my former employer University of Leeds for an ‘algorave assembly’ organised by Dan Merrick there, the school of music transformed with haze and lights. I performed solo there, but for eulerroom in Sheffield the next day teamed up with Heavy Lifting for a duo we are more recently calling “Epiploke”.
May started with doing a solo performance at a nice event at DINA Sheffield called Plethora, organised by some local students, followed by a streamed performance to Algorave Moscow the next day. The standout of this month has to be a trip to Reykjavik for the lovely RAFLOST festival though, traveling on with my wife+son for a holiday around the golden circle. Iceland is amazing. Big thanks to Ríkhardur H. Fridriksson for the invitation + organisation.
Onwards to June and to Berlin for a tidal workshop and performance at an event at modular+ space, put together by the excellent Peter Kirn of CDM.
Back in the UK and to an Algorave at the Cheltenham Science Festival. This was a lot of fun, and a relief as it went down well, after I’d previously had a major tech failure at the Cheltenham festival of literature.. My extended family lives nearby and were raving it up at the back..
Then out to Porto for the fourth edition of the Live Interfaces conference, which I started in Leeds back in 2012. My contribution was a paper with Dave Griffiths and Ellen Harlizius-Klück: Digital Art: A Long History, and the closing algorave was an absolute blast.. Does anyone ever make a conference without an algorave any more? The month finished off with a stream to Algorave Bristol, organised by Carol Manton again.
July saw the culmination of my “Pattern+Code” residency with Childrens’ Media Conference in Sheffield, which I failed to mention until now. This involved working with a year group (two classes full) of Y4s (8-9 year olds) from Wybourn Community Primary, hiding knots in string (inspired by Quipu) and doing algorithmic drumming circle workshops with tidal. I’d developed it all with Y6s in mind who unfortunately weren’t available, but the Y4s were totally into it, and made a beautiful collaborative textile and amazing noise music. Jon Harrison filmed the drumming circles beautifully, the example video doesn’t fully do the performance justice, we’ll sort out a version with proper sound (and visible screens) soonish..
The results of the workshops were exhibited in the Playground exhibition, big thanks to Kathy Loizou, Sharna Jackson, and Darren Chouings for hosting me and making it all possible. I also worked with some amazing older kids from Crofton Academy in Wakefield, who came down to join me for a riotous live coding performance in the exhibition itself, getting the audience raving.. They were so cool.
Later in the month and more CCAI activity, with an early morning off-tramlines show in the dearly missed Audacious arts space in Sheffield, as a nice warm up for the awesome Bluedot festival in Jodrell Bank. This was masses of fun, teaming up with top algorithmic visualist Coral Manton. A nice video too, the CCAI excerpt below but check the full video here, it was a great show, we were happy to fill up a huge stage by the end!
The final show of July was a collaboration with Jake Harries at the Festival of the Apocalypse back in Access Space, Sheffield. Despite collaborating on many activities we hadn’t played together as Silicone Bake for a good couple of years and it was amazing. I controlled some solenoids with tidal to tap out rhythms on some junk while Jake played guitar and sang late-capitalist lyrics gleaned from spam emails. We’ll have to do more of this in 2019!
August was mostly a time for holidays and planning for a visit from four fine people from Tokyo – Atsushi Tadokoro, Akihiro Kubota, Chiho Oka and Renick Bell, thanks to funds from the Arts Council/British Council, Sasakawa Foundation and Daiwa Foundation. On the way to Sheffield we met in London for a cheeky algorave in The Glove That Fits in Hackney, where I had an all-to-rare collab with Matthew Yee-King as Canute.
But the main celebration of their visit was in Sheffield at the start of September at Livecode Festival. I didn’t originally mean to organise a festival, but it just sort of happened that way! It was a fantastic couple of days with people contributing talks, performances and workshops from all over. The algorave was maybe the first one to have two rooms which went really well, we filled both rooms in DINA with one more chilled out room and one for full-on algorithmic bangers. Great times!
Later in the month I had a nice trip to Gothenburg, to take the role of PhD opponent for David McCallum’s thesis “Glitching the Fabric: Strategies of New Media Art Applied to the Codes of Knitting and Weaving”. it’s a lovely book and happily the result of the viva was a pass. This was my first involvement with a PhD examination (apart from my own), and I really enjoyed the Swedish take on it.
October began with a surreal and wonderful experience put together by the ever-imaginative Leila Johnston called the “Induction Meeting of the Holy Order of Logical Operators”. I was part of a strictly limited participatory group of people exploring an unusual sci-fi future through strange new customs and thought experiments. I lead an algorithmic drumming circle and did a few live remixes of the skype ringtone. I can’t really say more than that, you really had to be there and really should be at Leila’s next event as it’s likely to be equally inspirational (but probably totally different).
After that it was off to the PENELOPE laboratory in Munich to meet the incredible e-textile artist Sandra de Berduccy (aka Aruma) visiting from Bolivia. I spent a short while adding sound to one of Aruma’s textiles and really hope to bring her to Sheffield for Algomech festival next year. The results were shown alongside Ellen Harlizius-Klück’s textile works as part of RODEO festival, and my main contribution was a collaborative performance with Giovanni Fanfani and Dave Griffiths – Giovanni recited ancient Greek poetry while Dave controlled textile robots and I tried to match Giovanni’s shifting poetic metre with live code.. Plus a spot of audience participation at the end with some algorithmic drumming circle action.
Then back to Sheffield for No Bounds festival in Hope Works, an extra fun algorave take-over powered by the mighty FTF soundsystem as part of the Off Me Nut opening rave-up. I teamed up with Sam for another CCAI techno set in an rammed mini warehouse with massive speakers, perfect. More thanks for Liam for getting us involved!
November was all about Japan, part of the Yorkshire return visit, travelling with Lucy Cheesman and Joanne Armitage. This was an absolute blast, my first time in Japan, having amazing times at algoraves and workshops across Osaka and Tokyo, and just walking around the place. Full report coming soon, but below is my excerpt from the DOMMUNE live stream we did, and you should see all the Tokyo x Yorkshire performances in the full video, that was a good time.
While in Tokyo I was very happy to meet Japanese braid expert Makiko Tada and learn how to do Kumihimo braiding.
The perfect event to wind down into December was the “Apocalyptic Folk Club” in Sheffield. This might well have been my favourite event of the year just because I had no idea who would show up to play. In the event we had a full house, including loads of totally amazing musicians. Everyone had to be open minded because the advertised brief was brief and strange, which created a lovely atmosphere as people sat down and listened to all sorts, from improv noise on handmade instruments, to a duo singing a folk tune, a singer-songwriter banging out a number, someone performing extended guitar techniques, all sorts of strange instruments being brought out of boxes, and the odd bit of live coding. It was all amazing, and hope to find a way to continue it in a way that lives up to the dizzy heights of the first event. My contribution was to live code the tune behind a few different songs – The Red Flag, O Tannenbaum and O Christmas tree. I handed out the lyrics to all three and let everyone choose which version they sung. The result was chaotic and I think beautiful..
I’ve missed out a few things, including great tidalclub meetings, and the final meeting of the year was in the form of a winter solstice algorave.. Great to squeeze in one more collab with Sam as CCAI and Lucy as Epiploke.
One accomplishment I’m really happy about is getting Tidal 1.0.0 out, featuring a major refactor and lots of new features including a new wiki-based website documenting it all. This took a lot of my time over a couple of months which happily was partly remunerated thanks to many kind people sending me ‘coffee’ via my ko-fi.com page. This felt really great and although don’t want to spend too much time asking for donations, this is something I’d like to build on in the new year.
That’s it for now! I’ve probably forgotten more than I remembered in the above, but it’s been a fun and productive year.
I’ve had a great time exploring Kumihimo braiding lately, beginning with tuition during a visit to international expert on braids Makiko Tada while touring Japan (more on that soon). I’ve written up a full report over on the PENELOPE blog. You can keep up with our PENELOPE textile adventures by following us via our twitter feed or facebook page.
TidalCycles (aka Tidal) is a Haskell DSL for making (usually musical) pattern.
I’ve put a lot of time into Tidal the last couple of months, starting with preparation for an advanced tidal workshop in Tokyo, but things got out of hand and ended with a rewrite of its innards, solving some long-standing issues. It feels like I’ve only recently grown to understand what tidal really is in the process of writing (and rewriting) it over many years, and I’ve finally got to put that understanding into action. I’ve had some really useful feedback from the Haskell community in the past and so thought I’d write this post as an effort at getting feedback on this latest iteration.
Tidal is all about pattern. I’ve tried to explain what this means in terms of types in this wiki page – What is a pattern?
That page talks through the first bit of Sound.Tidal.Pattern, which also contains applicative and monad instances for patterns. The previous attempt at these didn’t conform to the applicative and monad laws, but these new versions hopefully are much closer to the mark. I’ve found though that
join aren’t enough for Tidal. I also need
<* for where pattern structure comes from the left, and
*> for where it comes from the right, where
<*> comes from both sides. Similarly, as well as
join (which I’m calling
unwrap) I needed to make
outerJoin. You could have a look at the Combining pattern structure wiki page to get an insight into why these are needed.
Tidal is my only real haskell project and I’ve learned haskell through (admittedly many years) of writing/rewriting it, so all insights much appreciated!
There has been a couple of instances where Haskell fans have been immediately turned off by Tidal, I think because of the large amount of strings used in Tidal code. These strings are actually overloaded, a parser in Sound.Tidal.ParseBP silently turns them into well-typed patterns (which are functions of time, and not strings or lists). Anything in those strings could be expressed in Haskell code, but with a _lot_ more keypresses. This mini-language is heavily influenced by the representation of cyclic structures Indian classical music (i.e. Bernard Bel’s BP2). I’d really like to get to the bottom of why people don’t like the look of these strings though, and whether there is a better alternative.
All feedback, suggestions and criticism much appreciated!