Live Coding [atelier / workshop] - EASTERN BLOC
Bonjour, welcome and thanks for being on board. This page was created for all the people involved in the 'Live Coding' workshop at Eastern Bloc, however, anyone can feel free to explore and share it.
The workshop is designed to create and analize together different ways to improvise sound and rhythmic patterns through live coding, however, it is an invitation to find your own voice through the exploration of diverse theorical, technical and sensible ideas. This page contains some notes that will accompany us, forcing us to take new directions. Following you'll find a list of suggested territories to explore together:
Installation
"Live coding is a new direction in electronic music and video, and is getting somewhere interesting. Live coders expose and rewire the innards of software while it generates improvised music and/or visuals. All code manipulation is projected for your pleasure. Live coding works across musical genres, and has been seen in concert halls, late night jazz bars, as well as algoraves. There is also a strong movement of video-based live coders, writing code to make visuals, and many environments can do both sound and video, creating synaesthetic experiences". [1]
[1] Alex McLean, TOPLAP, website.
Live coding is a technique but also is a cultural movement started around 2002 and formalized thanks to the birth of 'TOPLAP the Temporary / Transnational / Terrestrial / Temporal Organization for the Promotion / Proliferation / Permanence / Purity / Parsimony / Pragmatics of Live Algorithm / AudioVisual / Artistic Programming' in 2004. Thanks to TOPLAP's web that is an open blog to all the community, we have in knowledge that back in 1974, Tom DeFanti and Dan Sandin gave a series of performances that involved live coding techniques to create graphics and then manipulated live through modular analog video processors.
Live coding finds it’s roots back to early networked computer pieces, the very first live coding performance ever, was a half-hour by Ron Kuivila in 1985 using the programming language FORTH, which, incidentally, ended with a system crash.
“The Hub”, one of the early experimental network computer bands in the 1980s [2], allowed the audience to perceive their decision making by giving them read access to their monitors.
[2] C. Brown and J. Bischoff. INDIGENOUS TO THE NET:: Early Network Music Bands in the San Francisco Bay Area, 2002.
Also, exist an essential gem called 'A prehistory of Live Coding', an album that contains 16 live coding tracks recorded around the world between 1986 and 2007; this document is having an important relevance because it can give us an idea of how live coding movement starts, how it sounded in the beginning and what were its concerns as a cultural movement. The compilation includes tracks from Julian Rohrhuber, to whom I highly recommend, it is amazing the work he has done with PB_UP (PowerBooks UnPlugged), the first accoustic computer music folk band; at the same time it contains tracks from 'slub' a band founded by A. Ward and Alex McLean, who is the creator of 'TidalCycles', the software we will be exploring in this workshop; it also includes a track from Dave Griffiths, co-creator of 'Fluxus', an amazing software which is having a deep relationship with the Mexican live coding movement.
Slub (Alex McLean and Adrian Ward), live coding performance @ Ultrasound, 2002.
In Mexico, 'mU' an audio/visual experimentation trio integrated by Ernesto Romero, Eduardo Meléndez and Ezequiel Netri in 2004, began to explore live coding and now, they are considered pioneers and important promoters of the movement.
mU, complexión robusta @ Taller de Audio, 2004.
After of this and other early live coding explorations, Ernesto Romero 'Tito' started to teach SuperCollider through diverse workshops, supported by the Centro Multimedia, then a community of practitioners started to have meetings in the 'Taller de Audio' of this centre. In 2011 Mexico had the first live coding session in which the assistants of the 'Fluxus' and 'SuperCollider' workshops arrive and write their names in a list with spaces for visuals and sounds, so everytime we collaborate with different people and suggested by Tito, we follow a rule, possibly an algorithm, that is
For the installation you need to download and install, some pakages and softwares, follow one of this links (the one that corresponds with your operating system).
OSX
Windows
Linux
> Download the following file:
To install TidalCycles you need to follow some steps; for the workshop I find important to share a detailed step by step guide and useful references for introduce you to live coding (.
Well, for the installation you need to download one of these folders, the one that corresponds with your operating system.
You need to download:
- Firstly we will install by double click
- Now we will do the same with the file
- Next we need to open the
- We will drag 'Atom' and drop into our 'Applications' folder, then we will open it and we will search for the
- Then we will drag
- We will receive feedback in the Post Window, saying SuperDirt is installed, so we will go to the 'menu bar' and select
- SuperCollider will start again and now you need to evaluate the following line:
- We are really close, now we will come back to Atom and in the menu we will select Packages >
- So we will write our first line in TidalCycles:
* to evaluate we need press 'cmd + enter'.
You need to download:
- Firstly we will install
Important: Make sure you follow Step 2 of the Haskell installation instructions.
- Now we will install git
- Next we need to open the
- We will install
- Then we will install
Then SuperCollider will be ready, so you will open the file that is in our
- We will receive feedback in the Post Window, saying SuperDirt is installed, so we will go to the 'menu bar' and select
- SuperCollider will start again and now you need to evaluate the following line:
- We are really close, now we will come back to Atom and in the menu we will select
- So we will write our first line in TidalCycles:
* to evaluate we need press 'cmd + enter'.
Now we are ready to explore TidalCycles and have fun ( .
TidalCycles is an open-source software created by Alex McLean, Julian Rohrhuber, Mike Hodnick, Lennart Melzer, Sean Lee, Ben Gold, Scott Fradkin, David Ogborn, and friends.
Tidal for short, is a language for live coding patterns, it allows you to make music, sound and visuals, but it doesn't sound itself. "Tidal allows you to express music with very flexible timing, providing a little language for describing patterns as step sequences (which can be polyphonic and polymetric), some generators of continuous patterns (e.g. sinewaves, sawtooths) and a wide range of pattern transformations". [3]
[2] Alex McLean and friends. https://tidalcycles.org/
Lets explore:
Single sample:
Multiple samples:
* In Tidal a cycle is an undefined period of time that per default is equals to 1 cycle per second; so we can write and evaluate
Lets try 7 samples in one cycle of 2 seconds, because now our cps is equals to 0.5:
7 samples:
To understand a bit more how a cycle works we will explore our first function called 'every':
- every 2 is helping us to change the samples of the pattern every 2 cycles, so for the first cycle we can listen
and for the second cycle
Pattern repetition:
- The operator
Pattern group:
Pattern group + repetition:
Silence between a sound pattern:
- To add silences to our pattern we will use
Silence, to stop the sound of our pattern:
Samples - here you can find the list of samples that are coming with Tidal.
* Effects are patterns too
n:
speed:
vowel:
pan:
gain:
* To explore more effects, click here
"The Euclidean algorithm (which comes down to us from Euclid’s Elements) computes the greatest common
divisor of two given integers. It is shown here that the structure of the Euclidean algorithm may be
used to generate, very efficiently, a large family of rhythms used as timelines (ostinatos), in sub-Saharan
African music in particular, and world music in general".[4]
Godfried Toussaint, The Euclidean Algorithm Generates Traditional Musical Rhythms, School of Computer Science, McGill University. Montreal, Canada.
I find this algorithm a source of inspiration, for me is fantastic how numbers are related with that patterns created by the soul and the contact with the earth around the world in diverse native cultures. Personally I think euclidean rythms are a really interesting approach that can stablish a deep relationship with the sensible human rhytmic expression.
As we read an euclidean algorithm is a computation of the greatest common divisor of two given integers, this in visual terms could be the following: We have two integers
Then we will put the 0's between the 1's
And finally we should put the 3 ceros that are at the end of the sentence between the 1's
This is the euclidean rhythm (3,8) - actually it sounds like the classic cuban tresillo.
Now we will recreate it through Tidal:
I found really important to understand how Euclidean rhythms are structured in order to being more connected with our feelings and thoughts, however, TidalCycles is focused on live improv, and it includes a really easy way to improvise with euclidean rhythms, the same example that I wrote before, can be expressed like this:
Ok, now I find a good time to talk about
Now you can try any combination of two integers, but I want to share you a list with some possible and interesting euclidean rhythms:
(2,5) : A thirteenth century Persian rhythm called Khafif-e-ramal.
(3,4) : The archetypal pattern of the Cumbia from Colombia, and Calypso rhythm from Trinidad.
(3,5,2) : Another thirteenth century Persian rhythm by the name of Khafif-e-ramal, as well as a Rumanian folk-dance rhythm.
(3,7) : A Ruchenitza rhythm used in a Bulgarian folk-dance.
(3,8) : The Cuban tresillo pattern.
(4,7) : Another Ruchenitza Bulgarian folk-dance rhythm.
(4,9) : The Aksak rhythm of Turkey.
(4,11) : The metric pattern used by Frank Zappa in his piece titled Outside Now.
(5,6) : Yields the York-Samai pattern, a popular Arab rhythm.
(5,7) : The Nawakhat pattern, another popular Arab rhythm.
(5,8) : The Cuban cinquillo pattern.
(5,9) : A popular Arab rhythm called Agsag-Samai.
(5,11) : The metric pattern used by Moussorgsky in Pictures at an Exhibition.
(5,12) : The Venda clapping pattern of a South African children’s song.
(5,16) : The Bossa-Nova rhythm necklace of Brazil.
(7,8) : A typical rhythm played on the Bendir (frame drum).
(7,12) : A common West African bell pattern.
(7,16,14) : A Samba rhythm necklace from Brazil.
(9,16) : A rhythm necklace used in the Central African Republic.
(11,24,14) : A rhythm necklace of the Aka Pygmies of Central Africa.
(13,24,5) : Another rhythm necklace of the Aka Pygmies of the upper Sangha.