
live-coding
About a year ago, in the middle of lockdown, I found myself wondering online for some form of entertainment. I wanted to do something creative that could fulfill the boredom of staying home. I then remembered my failed attempts at producing music with Ableton Live a couple of years back. I wanted to pick it up back but the learning curve just scared me off.
So I look for a way to produce music in a way I already know, programming. I found the idea that one could programmatically create a piece of music fascinating. Programming and program languages are now such an inherent part of our society than their use into art and creative work seemed almost natural. Yet, to my surprise, I found relatively few initiative and a very niche, but vibrant community.
In this article, I want to share with you a few of my favorite live coding framework both for music and visuals.
Tidal Cycles
Tidal cycles is an open source project developed by the talented Alex McClean (https://slab.org/). The software is written in Haskell and uses SuperCollider under the hood. SuperCollider is itself a “platform for audio synthesis and algorithmic composition” with hundreds of “generators” , the matrix of livecoding. (https://supercollider.github.io/).
Like tides, the software consists in making patterns from a set of synth/samples. The language is design for live coding with simple notations to generate rhythmics and patterns as well as functions to combine and transform them.
If you want to know more about Tidal Cycles and start playing with it, it is over here (https://tidalcycles.org/)
Mercury
A year back, I had the chance to attend a live coding workshop in the frame of the Gaudeamus festival in Utrecht. The workshop was held by Timo Hoogland, a member of Creative Code Utrecht, who has created his own live coding language called Mercury.
Mercury is programmed in the Cycling'74 Max8 node-based creative coding environment, an abstracted layer on the Max/MSP audio engine. This minimal and human-readable language has been designed to be easily understood and you can quickly get some nice pieces going thanks to its explicit syntax. Mercury comes with an extensive library to generate or transform number sequences that influence melody and rhythm, over time.
https://www.timohoogland.com/mercury-livecoding/
Hydra
I will now talk a bit about visuals and how live coding is perfectly suited for that. Hydra is probably the simplest and user-friendly framework you can find. Thanks to its simplicity, it is probably one of the most popular tool for live visuals.
Based on JavaScript and WebGL, Hydra allows its user to output and modify video signal or stream through your browser. Just like modular synthesizers, one can combine multiple visual sources (oscillators, cameras, application windows, other connected windows) and transform, modulate and compose using a large variety of functions.
https://hydra.ojack.xyz/
To Follow:
Of course, this is only a very small subset of what is available out there. If you want to discover some more, I can only advise you to go to https://github.com/toplap/awesome-livecoding with an exhaustive list of all frameworks, languagues, forums and event related to live coding.
Another must is Toplap of course, the bible for live coding that lists everything related to the field. If you want to know if some algoraves, workshops or conferences are happening near you, this is the place to go.
I would also like to mentioned Creative Code Utrecht, a collective started at Utrecht University that aims “to stimulate digital creativity and creative coding in Utrecht and beyond.” The group is very active and I have been lucky to participate to some workshop and performances organized by them. So if you are in or around Utrecht, check them out (https://creativecodingutrecht.nl/#home).