The idea was to work with schoolchildren to explore pattern encoding through textiles and live coding. It’s been a rollercoaster, getting a lot done in a short amount of time, but was really rewarding.
I worked with sixty Y4s (8-9 year olds) at Wybourn Community Primary, first making a big quipu-inspired structure, the tangly thing above. I had half a day with each class (30 in each), teaching them how to self-ply yarn to make quipu-like strands (with a loop one end for cow hitching), teaching them to tie numbers as quipu knots, and then having a free-for-all where they tried hiding messages in string, starting with their age and then moving on to hiding letters and so on. This bit was far more difficult than teaching them to do live coding later on, quite a few weren’t confident with knot-tying to begin with, but they all managed to produce something in the end, with a wide variety of structures… and once I’d hitched them all onto a main strand I think they looked marvellous.
I also worked with the same year group on Algorithmic Drumming Circles, this time in groups of eight. I had just one hour with each group to introduce the concept of live coding, teach them enough Tidal to get them making music together, and capture a performance to be played back at the exhibition. The first couple of groups didn’t have parental permission for the filmed, so I had the opportunity to try some different things out. I had some playing cards prepared with fragments of code for the kids to put together and type in, but I decided not to use them after the first try. In fact, it seemed the more I constrained the task, the more creative the children would get. So in the end I only gave them two sounds each to play with (a high drum and a low drum – each computer with subtly different drums/tones), told them how to make sequences, and some functions for transforming them with some higher-order stuff. They responded to this really well and we actually managed to capture two performances with two of the groups and still be done by end of the hour!
I say ‘we’, it was actually my friend Jon Harrison who did the filming. It was a challenge to capture the circle, Jon managed to get a nice camera attached to the ceiling to film from the top-down, the results are excellent.
On the technical side, I had eight Pis tightly synced together (using ptpd), each running Tidal, Dirt and my new feedforward editor. I had all the keyboard events captured with accurate timing so that the live coding could be perfectly recorded and played back in the or the exhibition itself, the computers were set up in the same way, but without keyboards, and had the film projected down onto the floor. It works well I think, seeing these ghostly children type, and thanks to some network magic, you can look at the screen and see what they’re typing, as well as hearing their music come from their speaker. You can really see where the children hear something they like that one of their friends is making, run round to look at the code, then run back and try out their newly learned technique. Free software at work. With a different rhythm coming from each speaker, all nicely locked to the same tempo, the result is pretty cosmic, eight-channel rhythmic free-for-all that somehow gels at several points into some really nice techno grooves, and at other times breaks up into noisy experimentalism. The kids clearly enjoyed themselves a lot. We captured five different performances in the end that the installation cycles between.
Although we did have parental permission to film the children, we’re still not going to put the films online, as the children themselves might well not want films of themselves on the internet as they get older. But you can still see the work in the Playground exhibition at the Millennium Gallery in Sheffield for a few more days. I might put the music up at some point but the eight-channel nature of it is a bit problematic.
I’m left with a familiar feeling from this kind of short, intense project – the memory of a strong, uncertain feeling at the start of the project when there is a vague idea that seems impossible, mixing with the fleeting elation of somehow having managed to pull it off. I’m looking forward to taking this further, probably working with adults next to see how they can compete…
Anyway it’s not over yet – the exhibition goes on, and tomorrow (Friday) I work with three older kids from a different school – Crofton Academy in Wakefield – for a live performance in the gallery from midday.. Then celebrating with an (adult) Algorave in the evening..
As a result of this project I’m actually much closer to finally releasing my long overdue Spicule album. I put a lot of work into the feedforward editor to make it usable and robust to 8 year olds, and a lot of Raspberry Pi optimisation to make it all sing. More on all that soon..
Anyway thanks to the kids + teachers (esp Julian and Jane) for getting involved, Jon for filming, Kathy and Darren and the rest of the CMC crew, plus Rosie + Laura from Millennium Gallery for all the support! Plus Arts Council England for funding the whole endeavor.
Here’s a quick demo of a ‘simple’ dialect of tidal. Basically it
- avoids parenthesis, `#` etc, through a small, simple library of shortcuts (faster, slower, higher, lower, crunch, quieter, louder, skip, etc)
- allows you to just put e.g. `”bd sn”` and it’ll assume you meant
s "bd sn".
- that’s it
I’ll be trying this out with a large number of 8 year olds soon..
I wrote a paper with Ellen Harlizius-Klück and Dave Griffiths called “Digital Art: A Long History“, accepted to Live Interfaces (ICLI) 2018. From the abstract: “A digital representation is one based on countable, discrete values, but definitions of Digital Art do not always take account of this. We examine the nature of digital and analogue representations, and draw from a rich pre-industrial and ancient history of their presence in the arts, with emphasis on textile weaves. We reflect on how this approach opens up a long, rich history, arguing that our understanding of digital art should be based on discrete pattern, rather than technological fashion.” You can read the pre-print here.
I’ll also be performing with my new Feedforward editor in ICLI, here’s a recent performance with it in Reykjavik:
I actually started ICLI in Leeds back in 2012 with Kia Ng, and I’m super excited to be attending the fourth biannual edition of the conference, especially as it has such a solid programme.
Announcing another project! I’m artist-in-residence at CMC Playground, the exhibition and arts programme that is part of annual Children’s Media Conference in Sheffield, funded by Arts Council England. This is going to be a lot of fun, working with children in Crofton Academy in Wakefield, and Wybourn Community Primary in Sheffield, the results shown in the exhibition at the start of July. I’ve worked with these schools before, doing a crazy tanglebots workshop with a class at Wybourn, and working with a visually impaired pupil at Crofton Academy to control a laser cutter with code for his GCSE coursework. This time I’m planning on exploring coding and pattern – encrypting messages in Quipu-inspired structures, and making music through TidalCycles drumming circles. Fun!
I’m really happy to be arranging a cultural exchange between live coders in Yorkshire in Tokyo, with Access Space and in collaboration with Renick Bell. We are still working things out but so far have funding support from Arts Council England, the British Council and Great Britain Sasakawa foundation.
We’re still making the final programme and searching for additional funds, but it looks like we will have events in Sheffield and Leeds between 30th August and 4th September, and in Tokyo and Osaka between 8th and 18th November, including micro residencies, workshops, concerts and algoraves.
The funding will help support artists traveling between Tokyo and Yorkshire. From the Tokyo side we have:
- Chiho Oka (twitter | soundcloud)
- Akihiro Kubota (twitter | homepage)
- Atsushi Tadokoro (twitter | homepage)
- Renick Bell (twitter | homepage)
From the Yorkshire side we have:
- Joanne Armitage (twitter | homepage)
- Lucy Cheesman (twitter | homepage)
- Alex McLean (twitter | homepage)
Hope you can join us if you’re nearby Sheffield/Leeds or Tokyo/Osaka! We’ll share more details on the events soon. As a special preview Renick will join us in Sheffield for a performance this very Saturday..
I have a lot of projects. Let me count them
- PENELOPE – exploring weaving as a technical mode of existence
- Spicule – trying to get an ultra-complicated and overdue crowdfunded album project finished
- TidalCycles – free/open source project for live coding of pattern – lots of coding + documentation to do
- Dorkbotsheffield – electronic art meetings in Sheffield
- Eulerroom – streamed algorithmic music events
- Tidalbot – Currently a twitter bot but with expansive ideas behind it feeding into patternlib
- Feedforward – New text editor for tidal (also a dependency of spicule)
- Bands, loads of bands – slub, ccai, and many more on the back burner and without names yet, as well as performing solo as Yaxu. Doing a lot of performances
- AlgoMech – Growing annual(ish) festival around algorithmic and mechanical movement, third edition May 2019
- Access Space – on the board of trustees, research director (on a volunteer basis)
- Code Access – work-in-progress project working with people with sensory impairment and live coding, currently working with Childrens’ Media Conference towards an exhibition in July
- Lurk.org – project with Aymeric Mansoux building alternative internet services like talk.lurk.org and we.lurk.org
- Algorave and TOPLAP, quite amorphous collectives but I still do a fair amount of coordination despite actively trying to share the keys.. Plus helping with the steering committee of the ICLC and ICLI conferences I started.
- A book on live coding with some great people – I owe them a lot of writing!
- An international exchange between live coders in Tokyo and Yorkshire this summer/autumn
- A remix + tidalcycles samplepack project with Blood Sport
+ probably a fair few more I can’t think of right now… Plus a lot half-started and half-finished projects I’d really like to work on. Visual programming, being part of FoAM, etc. Plus being a father. I could just about imagine doing any single one of the these as a full time occupation, really, but only the first one actually pays me money (it’s a part-time position, 50%). I can’t really imagine dropping any of them. What to do? It doesn’t help that I’m terrible with time management.
I’m not sure what the point of this post is, apart from to stare at this problem in the face, and to explain why I’m sometimes a bit slow with finishing projects or replying to email. Any advice warmly received.
@tidalbot weave’ 16 (sound “bd sn feel*2 [~ arpy]”) [jux (slow 2), (# speed “0.75”), striate 16]
— Lizzie Wilson (@dgtlslvs) April 3, 2018
@tidalbot density 0.75
$ stack [
$ every 4 (iter 3)
$ every 3 (iter 2)
$ every 5 (jux (0.25 <~))
$ sound “[less:0*3, hh*5, hh*4]”,
sound “~ sn:2” # gain “0.8”,
sound “bd:1*16” # gain “[0.9 0.8]*8”
— bogdan.plan @ REZZED (@BogdanVera) April 3, 2018
— 田所 淳 (@tadokoro) April 3, 2018
@tidalbot s “gab*19?”
# pan (slow 15 $ sine)
# end (discretise (1/8) $ slow 19 $ scalex 0.0001 0.01 $ rand)
# loop 99
# delay 0.9
# delayfb 0.95
# delayt (discretise (1/9) $ slow 23 $ scalex (1/999) (1/9) $ rand)
# lpf (slow 2 $ scale 200 20000 $ rand)
# gain 4
— Daniel M Karlsson (@danielmkarlsson) April 3, 2018
As a bonus, the latest pattern is currently being projected into the shop window of Access Space Labs on Fitzalan Square in Sheffield.
In the above, in a beautiful lecture that I am still digesting, Kodwo Eshun quotes from an unpublished manuscript by Mark Fisher, talking about the forces suppressing “the collective capacity to produce, to care, to enjoy”. From my perspective, this makes me think about the ideals of free software, and the practicalities of trying to carry it out. I made TidalCycles in the world of free software (operating systems, libraries, documentation passed down freely from others), on a ‘holiday from capitalism’ supported by student and academic grants and arts residencies, giving it away for free. I was able to absorb a lot of prior work during this time, to help me create something new. Quite a few others have now joined TidalCycles as a free project, and many more in using it. How is capital blocking this collective capacity to produce, to care to enjoy?
I suppose the more radical positioning of live coding in general, more common in the early days, is now being lost. This is the idea that live coding is about experience, not end-product, that to live code is to improvise in and for the moment, that at the end of a performance you have nothing left. The desire to produce music that can be repeated, that can be sold as a product, is I think starting to drown out the idea of ‘blank slate’ improvisation. As people (myself included) crave music with more composed detail, more temporal structure, we get outside the current limits of the live coder in the moment, and take the easy route of introducing pre-written structures, suitable for packaging up as ‘tracks’. We go through the motions of selling them on bandcamp, probably making back a hundredth (or even thousandth) of a minimum wage, but trying to legitimise what we’re doing within the value structure of a past record industry.
By giving away free software with a permissive license, partly as an invitation for others to jump in and contribute features, ideas, and documentation, in practice you also invite people to grab the software and treat it as a ‘tool’ within a ‘workflow’ based on commercial software. This seems innocuous, and to question this behaviour runs against the assumed aim for software to reach as many end-users as quickly as possible. But this aim rides over many other potential aims (e.g. to grow sustainably, to create an alternative), and pursuing it forces a free software collective into interacting with commercial institutions, thereby taking on their value structures. Where Tidal users are also users of commercial software (including MacOS and Microsoft Windows), they’re already trained to think in terms of centralised support and feature requests, and not the collective responsibility to produce, care and enjoy. There is always pressure for the community to divide into ‘developers’ and ‘users’, one serving the other, in a way which simply isn’t sustainable without the latter paying the former. Once we start looking for the users to indeed pay the developers, we’re running away from the possibilities of collective imagination.
I’m running out of time for this blog post, but how to respond to these thoughts? I guess resisting the easy answers, and instead keep looking for alternative paths that only free software culture can take. Re-imagining the programming language and text editor around the principle of data love – where sharing what you have only increases in value. More thoughts to follow.
Back in the glory days of slub I used to live code with Perl, and wrote a text editor (also in Perl) for it called ‘feedback.pl’. It was a strange thing, where you wrote self-modifying code to store data in the sourcecode for the music you were writing, and therefore visualise it. I’ve been intending to make something similar for tidal for ages, and took some time to finally start work. I’ve experimented with a weird visual editor for tidal before, and have been fiddling around with a web-based editor as well, but this time decided to write something that worked in the terminal, using the fantastic ncurses framework. This is partly so it’ll run nicely on the Pi Zero, for my ongoing Spicule project, but partly because it just makes sense for a text editor to work in text mode, and it’s good to start from basics without taking on the many assumptions of an existing ‘general purpose’ text editor. I’m just seeing where it takes me but I’m pretty happy with it so far, it has some structured editing around patterns already, some ascii VU meters going on, and every edit is automatically recorded + timestamped. It’s far from being in a usable state, but here’s a quick demo:
You can find it on github but I’m not inviting patches until it’s a bit more fully formed.