Category Archives: wovensound


Pattern+Code at Playground

The residency at CMC Playground that I mentioned before is coming to an end, so time for a quick reflective blog post.

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.

Photo by Jon Harrison

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.

Weaving Codes in Denmark

[blog in progress..]

IMG_20141010_101901859Dave has made some lovely documentation of the first Weaving Codes, Coding Weaves activities as two thoughtful blog posts here and here. Here’s some added thoughts.

It was an exhausting but revelatory week, finding out that things that look completely different can be made in the same way. Once you find this out, you perceive these different things as the same thing. I think this is the basis of our project, and the reason why weaving and (live) coding fit together well; they are activities which involve the same thought processes, and in this way are the same activities.

One of the more speculative and risky side outputs for our project is looking for ways to connect weaving with music. Well this is surely a path well-trodden, and we will be reviewing all that has gone before. I wonder if our focus on the notation of weaves will get us somewhere else though, where we can foreground the thought processes and activity of weaving in a way that is as visible as the fabric itself.

The Jacquard mechanism of industrial looms allows us to make fabric without thinking about its structure, and just drawing the end result. By leaving Jacquard to one side and going back to ancient weaving methods such as the warp-weighted loom, the activity and mathematical language of weaving becomes available to us; just as by leaving the modern Graphical User Interface to one side, the underlying activity and mathematical language of code comes available as a way of working and thinking.

In this way, we can look for ways of connecting the making of weaves and of music; making not just as following coded rules, but of following those codes while writing them. Codes not as descriptions, or constraints, but as interface to material. We follow code to make material, and then change codes in response to that material, as a way of navigating the otherwise unfathomable space of possible materials.

Sorry this blog post is a bit unfathomable too, I’ll edit it later..

Sonic Pattern and the Textility of Code

Really excited to be involved with this dream event in London next month:

Sonic Pattern and the Textility of Code

11am to 6pm, 13th May 2014
Limewharf, Vyner St, London E2 9DJ
£20/£15
https://www.eventbrite.co.uk/e/sonic-pattern-and-the-textility-of-code-tickets-11330352389

An event that brings together diverse viewpoints on weaving, knitting, live coding, dyadic mathematics, generative music and digital making, in order to see how patterned sound and threads allow us to both sense the abstract and conceptualise the tactile. We will look for a rich view of technology as a meeting point of craft, culture and live experience.

The invited speakers will explore aspects of making, process, language, material and output in the relation to their own practice and related contexts.

The discussion will be lead by Bronac Ferran, Janis Jefferies, and David Toop, and practitioners include Alessandro Altavilla, Sarah Angliss, Felicity Ford, Berit Greinke, Ellen Harlizius-Klück, Alex McLean and Becky Stewart.

There will be audio-visual interludes through the day, including a screening of Ismini Samanidou and Scanner’s film Weave Waves, commissioned for the Sound Matters exhibition in 2013 by Craft Council, and a short performance by Felicity Ford.

The event will close with a live music performance from Leafcutter John, Matthew Yee-King and Alex McLean, exploring code, pattern and sound.

Curated by Karen Gaskill, Crafts Council

A collaboration between the Craft Council, ICSRiM (School of Music, University of Leeds), the Thursday Club (Goldsmiths), V&A Digital Futures and the Live Coding Research Network.

Made possible through funding and support by the Craft Council, Sound and Music, the Arts and Humanities Research Council and the Centre for Creative Collaboration.

Experimentallabor residency

I’m on the way to take part in a short residency in Dusseldorf, hosted by Julian Rohrhuber at the Robert Schumann School:

Fifth Experimentallabor Residency: Penelope’s Loom – Coding threads in antiquity, live notation and textile inspired programming languages
Structure can be result and origin of a dynamic process at the same time – a thought that is common to weaving, mathematics and music. Today, as programming has become a practice that is closer to improvisation than to machine control, this commonality becomes increasingly interesting for the arts. It is along these lines, in the fifth Experimentallabor Residency, that Ellen Harlizius-Klück, Alex McLean, and Dave Griffiths will rethink programming languages in the arts in conjunction with the history of weaving.
Introduction: Wed Feb 5 2014, 17:30, IMM Experimentallabor

Lots more events coming up, full list here.

Peano curve weaves of whole songs

Some nine months ago I played with weaving images from music, including using a peano curve as a mapping.

I’ve returned to this subject, having many good ideas to explore from recent discussions with Tim Blackwell. We thought rendering some whole songs would work nicely. I didn’t fancy playing with my Java code again so wrote some Haskell, which I’m rather pleased with. The source is available (feedback welcome!). It does the the mapping using seeks on the output file, allowing impressive memory efficiency via Haskell’s lazy evaluation.

Some examples of some indie synth pop, disco, minimal techno (*3) and industrial gabba below, click on the images for the full versions but beware, they are rather large, around 5M each. Mouseover for the original track names.

Boy From School - Hot Chip At Last I Am Free - Chic Ping Pong - Plastikman Ping Pong - Plastikman (different curve)
Ping Pong - Plastikman (with some colours) Unborn Baby - Venetian Snares and Speedranch

Woven sound

Woven sound is an idea by Dr Tim Blackwell, where a one-dimensional stream of audio samples or midi events may be woven into a two-dimensional structure analogous to fabric. Tim has written this idea into his software, where (as I understand it) he uses flocking algorithms to seek out patches of high activity which are then unwoven back into sound.

Inspired by this I have made my own implementation of woven sound. It doesn’t produce very interesting audio output yet but so far the animated visualisation is pleasing.

My idea is to have autonomous agents running around the fabric at audio rate, changing the rules they follow on the fly. Not quite there yet.

As well as weaving the sound in a traditional manner (warp and weft?) my implementation can also weave in a Peano curve. I made a prototype which draws the Peano curve in processing, which helps see its structure. The movement is complex but the idea extremely simple; is to take a line, twist it in a figure of eight, then do the same with each new line segment recursively. Infinite recursions would fill a 2D square completely, but here I limit the recursions to 4 or 5.

These screengrabs give a general idea but to see the full effect and the relationship between the woven sound and the sound source, plug in your microphone, download my software and make some noise. The java sourcecode is in the jar file.

All of my software mentioned here is copyright 2006, available under the terms of the GPL version 2.0.

UPDATE: See also Peano curve weaves of whole songs