Live coding is a musical practice in which performers generate audio and visuals by typing and executing code in real-time. Since the advent of live coding practice in the mid-2000s, a variety of live coding environments have grown in popularity, including Tidal Cycles1, Gibber2, and Hydra3, each of which present different approaches to conceptualizing the dynamic creation of musical structure and form. Central to live coding practice is the challenge of representing melodic, harmonic, and rhythmic ideas through code, and of allowing for the flexible exploration of electronic music techniques. ‘Expressive’ code takes a new meaning in this context, requiring both the ability to quickly execute sophisticated musical structures while also providing for a high level of variation depending on the aesthetics and goals of the performance.
This workshop will provide a crash course in Gibber, a live coding environment which supports several different models of sequencing. Gibber is a great introduction to live coding, being both browser based, with a reasonable amount of online examples, and supporting many different annotation techniques to visualize the effects of your code. In addition, being built on modern javascript, Gibber is both easy for experienced programmers to get started with as well as providing plenty of high-level abstractions to make getting started quick and easy.
The first half of the workshop will be a crash-course in the basic use of Gibber, showing the easiest way to begin Gibbering. The second half will explore more advanced topics, including a discussion of Tidal Cycles as well as the use of javascript array techniques to flexibly create and modify large-scale musical structures. Ultimately, our goal is not only to gain practical experience in using Gibber itself, but also to better understand the conceptual challenges and opportunities. of making music in this way.
Workshop links:
Note: Chrome highly recommended – may not work in other browsers
tutorial 1: Gibber Intro
tutorial 2a: drums and mini-tidal`
tutorial 2b: dot seq functions
Discussion:
dot seq
tidal
javascript arrays
simple example
noise example
further resources:
Gibber references
Tidalcycles
Charlie Roberts, Graham Wakefield, “Tensions and Techniques in Live Coding Performance” (2018)
Charlie Roberts, Ian Hattwick, Eric Sheffield, and Gillian Smith. “Rethinking networked collaboration in the live coding environment Gibber.” NIME 2022 pdf download