Live coding – an interview with Lizzie Wilson (Digital Selves)

Dom Aversano

Photo by Antonio Roberts / @hellocatfood

The live coding scene has been growing over the years. Despite this, for many the idea of watching someone create music in code might not have an immediate appeal, though live coders are now playing at top night clubs, experimental music venues, and festivals. As the world becomes more code literate it is likely to become more popular. 

Curious to know more about these digital improvisers I sat down for a chat with Lizzie Wilson (Digital Selves) who is a leading musician in the field who learned the art of music coding in the lively scene in Leeds, but now lives in London. 

Did you have a background in either music or programming before you got into live coding?

I grew up with traditional instruments playing piano and guitar, though I always found I had a bit of trouble with coordination. I also found it limiting to be tied down to expressing ideas musically through physicality. I always did that on the side and really enjoyed it. Then I studied mathematics at university. So not really coding, but obviously it underpins a lot of the ideas in coding.

I didn’t start coding until I found out about Algorave and live coding. It was through one of my good friends, Joanne Armitage. My friends would run little house parties and she would rock up with a laptop and start doing live coding, and I remember seeing it and thinking, Oh, that’s really cool, I’d love to do a bit of this.

Which city was this?

At the time I was based in Leeds, Yorkshire, because that’s where many people were based, and there was a lot happening in the city. This was around 2015/2016.

I didn’t know much about coding or how to code. So I started to learn a bit and pick stuff up, and it felt really intuitive and fast to learn. So it was a really exciting experience for me.

It’s quite rare to find coding intuitive or easy to learn.

Yeah, I had tried a few more traditional ways. I bought a MIDI keyboard and Ableton. While I really enjoyed that, there was something about live coding that made me spend a whole weekend not talking to anyone and just getting really into it. I think that’s, as you say, quite rare, but it’s exciting when it happens.

That’s great. Were you using Tidal Cycles?

Yeah, it was Tidal Cycles. So Joanne was using Supercollider, which is, you know, a really big program. When I first started I wanted to use Supercollider because that was all I knew about. So I tried to learn Supercollider, but there were a lot of audio concepts that I didn’t know about at that time and it was very coding intensive. It was quite a lot for someone who didn’t know much about either at the time, so I never really got into Supercollider.

Then I went to an algorave in Leeds and I saw Alex McLean performing using Tidal Cycles. I remember that performance really well. The weekend after I thought, you know, I’m going to download this and try it out. At that time Alex — who wrote the software — was running a lot of workshops and informal meetups in the area. So there was a chance to meet up with other people who were interested in it as well.

Tidal Cycles Code / by Lizzie Wilson

Was this a big thing in Leeds at that time?

Yes, definitely around Yorkshire. I’m sure there were people in London in the late 2000s that were starting off. In the early 2010s, there were a lot of people working, because people were employed by universities in Yorkshire, and it’s got this kind of academic adjacent vibe, with people organising conferences around live coding.

There was a lot happening in Yorkshire around that time, and there still is. Sheffield now tends to be the big place where things are based, but we’re starting to create communities down in London as well and across the UK. So yes, I think Yorkshire is definitely the informal home of it.

I’m curious about what you said earlier about the limitations of physicality. To invert that — what do you consider the liberating ideas that drew you to code and made it feel natural for you?

I think it being so tightly expressed in language. I like to write a lot anyway, so that makes it very intuitive for someone like me. I like to think through words. So I can type out exactly what I want a kick drum sample to do: play two times as fast, or four times as fast. Using words to make connections between what you want the sounds to do is what drew me to it, and I think working this way allows you to achieve a level of complexity quite quickly.

With a traditional digital audio workstation, you have to copy and paste a lot and decide, for instance, on the fourth time round I want to change this bar, and then you have to zoom into where the fourth set of notes is. There’s a lot of copy and pasting and manual editing. I found being able to express an idea in a really conjunct and satisfying way in code exciting. It allows you to achieve a level of complexity quite quickly that produces interesting music.

The live aspect of performance places you within a deeper tradition of improvisation, however, code is more frequently associated with meticulous engineering and planning. How does improvisation work with code?

I think that’s something really interesting. If you think about coding in general, it tends to be, say, you want to make a product, so you go away and you write some code and it does something. This way of coding is very different because you do something, you try it out, and then you ask, does this work? Yes or no. That’s kind of cool, and you see the process happening in real-time, rather than it just being a piece of code that is run and then produces a thing.

Photo by Jonathan Reus

Part of the thrill of improvisation comes from the risk of making mistakes publicly, which makes it exciting for the audience and for the artists. How do you feel about improvising?

At first, I always found it quite scary, whereas now I find it enjoyable. That is not to say I am completely fine now, but you get through this process of learning to accept the error or learning to go where it takes you. So yeah, I find the level of unpredictability and never knowing what’s going to happen a really interesting part of it.

How much of an idea do you have of what you’re going to do before performing?

There are people who are a bit more purist and start completely from scratch. They do this thing called blank slate coding, where they have a completely blank screen and then over the performance they build it up. The more time you spend learning the language, the more you feel confident at accessing different ideas or concepts quicker, but I like to have a few ideas and then improvise around them. When I start performing I have some things written on the screen and then I can work with them.

It’s not like one way is more righteous than the other, and people are quite accepting of that. You don’t have to start completely from scratch to be considered coding, but there are different levels of blindness and improvisation that people focus on.

It seems like there are more women involved in live coding than in traditional electronic scenes. Is that your experience?

Yes, and there has been a conscious effort to do that. It’s been the work of a lot of other women before me who’ve tried hard to make sure that if we’re putting on a gig there are women involved in the lineup. This also raises questions like, how do we educate other women? How do we get them to feel comfortable? With women specifically, the idea of failure and of making mistakes can be difficult. There is some documentation on this, for instance, a paper by Dr Joanna Armitage, Spaces to Fail In, that I think is really interesting and can help with how to explore this domain.

It’s not just women though. I think there are other areas that we could improve on. Live coding is not a utopia, but I think people are trying to make it as open a space as possible. I think this reflects some of the other ideas of open-source software, like freedom and sharing.

Introversion of Sacrifice EP by Digital Selves (Lizzie Wilson)

What other live coders inspire you?

I would say, if I’m playing around the UK, I would always watch out for sets from +777000 (with Nunez on visuals), Michael-Jon Mizra, yaxu, heavy lifting, dundas, Alo Alik, eye measure, tyger blue plus visualists hellocatfood, Joana Chicau and Ulysses Popple, mahalia h-r

More internationally, I really like the work of Renick Bell, spednar, {arsonist}, lil data, nesso, hogobogobogo & gibby-dj 

If someone goes to an algorave what can they expect? Is the audience mostly participants, or is there an audience for people who don’t code?

I think you always get a mixture of both. There are some people who are more interested in reading and understanding the code. Often they forget to dance because they’re just standing there and thinking, but there is dancing. There should be dancing! I feel like, if you’re making dance music, it’s nice when people actually dance to it!

It depends on the person as well. There are people who are a lot more experimental and make harsh noise that pushes the limits of what is danceable. Then there are people who like to make music that is very danceable, beat-driven, and arranged. If you go to an Algorave you wouldn’t expect to have one end of the spectrum or other, you will probably get a bit of both.

Over the past few years, we’ve done quite a few shows in London at Corsica Studios, which is a very traditional nightclub space, with a large dark room and a big sound system, as well as more experimental art venues like Iklectik, which is also in London. Then there’s the other end of the spectrum where people do things in a more academic setting. So it’s spread out through quite a lot of places.

My personal favourite is playing in clubs where people actually dance, because I think that’s more fun and exciting than say art galleries, where it’s always a bit sterile. It’s not as fun as being in a place where the space really invites you to let go a little bit and dance. That’s the nice thing about playing in clubs.

Bandcamp recently got bought by Songtradr who then proceeded to lay off 50% of the staff. Traditionally Bandcamp has been seen as an Oasis for independent recording musicians, amid what otherwise are generally considered a series of bad options. Do you have any thoughts on this, especially given that you have released music on Bandcamp?

When I’ve done releases before we haven’t released with Spotify. I’ve only done releases through Bandcamp because as you say, it felt like this safe space for artists, or an Oasis. It was the one platform where artists weren’t held to ransom for releasing their own music. It’s been a slow decline, having been acquired by Epic Games last year. When that happened I winced a little bit, because it was like, well, what’s going to happen now? It felt quite hard to trust that they were going to do anything good with it.

Obviously, it’s hard. I think the solution is for more people to run independent projects, co-ops, and small ventures. Then to find new niches and new ways for musicians to exist and coexist in music, get their releases out, and think of new solutions to support artists and labels. At times like this, it’s always a bit, you know, dampened by this constant flow of like, oh, we’ve got this platform that’s made for artists and now it’s gone, but people always find ways. Bandcamp came out of a need for a new kind of platform. So without it, maybe there’ll be something else that will come out of the new need.

I’m hopeful. I like to be hopeful.

To discover more about Lizzie Wilson (Digital Selves) you can follow the links to her website, Bandcamp, Twitter, and Instagram

Getting Started with Sonic Pi / On-demand

Level: Beginner

Sonic Pi is a live coding synth for live performance and music making. This workshop aims to provide you with basic skills to begin exploring live coding and making music in Sonic Pi.

Session Learning Outcomes

By the end of this session a successful student will be able to:

  • Play samples

  • Play pitches and scales using Sonic Pi’s built in synthesizers

  • Learn basic timing principles

  • Alter sounds using effects and more

Session Study Topics

  • Samples: playing built-in samples and import your own

  • Synths: Play pitches using MIDI pitches or traditional scales

  • Timing: Basic timing, working with longer loops, repeating sequences, and cueing/syncing multiple loops

  • Altering sounds by redefining parameters and adding effects

Requirements:

About the workshop leader

Melody Loveless is an artist, creative technologist, and educator based in Brooklyn, NYC. Her work ranges from live coding performance, generative sound installations, multisensory performance, and more. She has taught at various institutes across NYC including NYU, the New School, Hunter College, and Harvestworks and is part of Cycling 74’s Max Certified Trainer Program.

Scripting and Live-Coding Max with Scheme for Max – On-demand

Level: Some experience with Max, plus some experience with any programming language

Scheme for Max brings the power and flexibility of Scheme Lisp to Max, for sequencing, patch scripting, and building complex interactive systems.

In this workshop, you will be introduced to interactive coding with the Scheme for Max object, and will build a performance capable sequencer all in code, that you can interact with live.

Session Learning Outcomes

By the end of this session a successful student will be able to:

  • Create interactive patches and programs with the s4m object

  • Automate patches by sending messages and scripting in Scheme

  • Create sequence playback functions and interact with the Max transport and scheduler

  • Create live coding objects in Scheme

  • Know how to keep learning Scheme with further online resources

Session Study Topics

  • Why Scheme For Max was created and what we can do with it

  • Basic Scheme programming: data types, functions, variables

  • The s4m Max API: interacting with the scheduler, transport, midi, and GUI

  • Samples of Lisp idioms and live coding constructs, and further resources to learn Scheme

Requirements

  • A computer and internet connection

  • A webcam and mic

  • A Zoom account

  • Access to a copy of Max 8 (i.e. trial or full license)

  • An installation of the Scheme for Max package (free)

Windows: https://youtu.be/EKjpS6H_V8Q
OSX: https://youtu.be/O52ESDQCLgQ

  • An installation of a text editor and the ability to edit and save
    plain text (code) files

About the workshop leader 

Iain Duncan is a musician and music technologist in Victoria, BC, where he is pursuing graduate studies at the University of Victoria in music technology and algorithmic composition.

He is the author of Scheme For Max, and has previously worked with numerous computer music and general programming languages. He also works as a software architecture consultant at Crosslake Tech.

Livestream: Nestup – A Language for Musical Rhythms

Date & Time: Monday 10th May 6pm UK / 7pm Berlin / 10am LA / 1pm NYC

In this livestreamed interview, we will speak with Sam Tarakajian and Alex Van Gils, who’ve built a fantastic live-coding environment that works within an Ableton Live device called Nestup

The programs we use to make music have a lot of implicit decisions baked into them, especially in their graphical interfaces. Nestup began as a thought experiment, trying to see if embedding a text editor inside Live could open up new creative possibilities. We think the answer is that yes, text can work well alongside a piano roll and a traditional musical score, as a concise and expressive way to define complex rhythms.

With Nestup, you define for yourself any size of rhythmic unit, any sort of rhythmic subdivision, and with any scaling factor. These language features open your rhythm programming up to musical ideas such as metric modulation, nested tuplets, complex polyrhythm, and more. Rhythms from musical styles which would have been prohibitively difficult to program in a DAW can therefore be rendered in MIDI, such as rhythms from Armenian folk musics or “new complexity” compositions.

Overview of speakers

Sam is a Brooklyn based developer and creative coder. Sam works for Cycling ‘74 and develops independent projects at Cutelab NYC. Alex is a composer, performer, and generative video artist based in Brooklyn. 

Sam and Alex have been making art with music and code together for over 10 years, beginning with a composition for double bass and Nintendo Wiimote while undergraduates and continuing to include electroacoustic compositions, live AR performance art, installation art, Max4Live devices, and now Nestup, the domain-specific language for musical rhythms.

Where to watch?

YouTube –

 

Livestream: TidalCycles – growing a language for algorithmic pattern

Thursday 20th May 6pm UK / 7pm Berlin / 10am LA / 1pm NYC

In this livestreamed interview, Alex McLean retraces the history and intent that prompted him to develop TidalCycles alongside ‘Algorave’ live performance events, contributing to establish Live Coding as an art discipline.

 Alex started TidalCycles project for exploring musical patterns in 2009, and it is now a healthy free/open-source software project and among the most well-known live coding environments for music.

TidalCycles represents musical patterns as a function of time, making them easy to make, combine and transform. It is generally partnered with the SuperDirt hybrid synthesiser/sampler, created by Julian Rohrhuber using SuperCollider. 

Culturally, TidalCycles is tightly linked to Algorave, a movement created by Alex McLean and Nick Collins in 2011, where musicians and VJs make algorithms to dance to.

Where to watch – 

 

Facebook –  https://www.facebook.com/musichackspace/

Overview of speaker

Alex McLean is a musician and researcher based in Sheffield UK. As well as working on TidalCycles, he also researches algorithmic patterns in ancient weaving, as part of the PENELOPE project based in Deutsches Museum, Munich. He has organised hundreds of events in the digital arts, including the annual AlgoMech festival of Algorithmic and Mechanical Movement. Alex co-founded the international conferences on live coding and live interfaces, and co-edited the Oxford Handbook of Algorithmic Music. As live coder has performed worldwide, including Sonar, No Bounds, Ars Electronica, Bluedot and Glastonbury festivals.

Live Coding Sound with TidalCycles – On demand

Level: Beginner

Live coding is the act of manipulating algorithms in real time to change an ongoing artistic process, like music or visuals. In this workshop, we will begin with an introduction to live coding, highlighting various technologies and artists, before learning how to live code sound using TidalCycles. This workshop aims to provide an introduction to live coding to encourage others to incorporate live coding technologies and techniques into their practice.

Session Learning Outcomes

By the end of this session, a successful student will be able to:

  • Create a variety of patterns

  • Use functions to vary sequences

  • Add effects to manipulate and process sounds

  • Identify various technologies and practitioners of live coding

Session Study Topics

  • An introduction to various live coding technologies and artists:

    • Sonic Pi

    • TidalCycles

    • FoxDot

    • Hydra

  • How to create various patterns and sequences

  • Functions for varying sequences

  • How to add effects to sound

Requirements

  • A computer and internet connection

  • A web cam and mic

  • A Zoom account

TidalCycles
Software to download:

Note: To run TidalCycles on your machine, you will need to install software in addition to the applications/packages listed above. Follow these instructions to see how to do this on your machine.

To use an online version of TidalCycles (*no installation required):

Visit the Estuary Live Coding Server. Select ‘MiniTidal’ as your language of choice.

About the workshop leader 

Melody Loveless is an artist, creative technologist, and educator based in Brooklyn, NYC. Her work ranges from live coding performance, generative sound installations, multisensory performance, and more. She currently teaches at Hunter College and Harvestworks and is part of Cycling 74’s Max Certified Trainer Program.

Max meetup – Europe Edition 2

FREE

Date:  Saturday 30th January – 3pm UK time / 4pm CET

Level: Open to all levels 

Overview

Join the Max meetup to share ideas and learn with other artists, coders and performers. Showcase your patches, pair with others to learn together, get help for a school assignment, or discover new things.

The meetup runs via Zoom. The main session features short presentations from Max users. Breakout rooms are created on the spot on specific topics, and you can request a new topic at any time.

 In the breakout rooms, you can share your screen to show other participants something you’re working on, ask for help, or help someone else.

Presenters

The session will be hosted by Ned Rush and feature presentations by:

Nick Rothwell, aka Cassiel, Live coding a patch librarian in Clojure
Philip Meyer, Image Convolution with jit.gl.pix
Johan Englund, CV recorder for Mira

And more to be confirmed soon.

Ready to present your work?

Everyone is welcome to propose a presentation. Just fill in this short form and you’ll be put on the agenda on a first come first served basis.

Presentations should take no more than 5 minutes with 5 minutes Q&A and we’ll have up to 5 presentations at each meetup.

Topic suggestions but not limited to:

  • MIDI
  • Jitter
  • Signal processing
  • Sequencing
  • Hardware
  • OSC
  • Algorithmic composition
  • Package manager modules

Berlin Code of Conduct

We ask all participants to read and follow the Berlin Code of Conduct and contribute to creating a welcoming environment for everyone.