Designing an Audio Live Coding Environment
Live coding is the practice of using code as a medium for visual or (in this case) musical expression and performance in real time. Code represents a uniquely flexible way of expressing musical structures and ideas, unconstrained by the fixed architectures of GUI-based tools such as DAWs.
Over the past year, I’ve been developing a new live coding environment called ohm. In doing so I’ve encountered a number of interesting design questions that I’ll discuss in this talk, such as:
- What live coding languages and audio programming DSLs exist, and what are their respective strengths and limitations, including the trade-offs between visual and textual programming
- How to design a domain-specific language (DSL) that describes audio graphs and musical structures in an expressive yet readable way
- How different programming paradigms—imperative, functional, declarative, and dataflow—and syntaxes map onto musical systems and structures
- The technical challenges of building an audio engine that supports arbitrary edits to its graph while supporting real-time, interruption-free playback
Register To ADCx Gather Today!
Corné Driesprong
Freelance Developer
Audiomovers
Corné Driesprong is a self-taught, freelance software developer and musician, combining a background in musicology with over a decade of experience working on (mostly) music-related software projects ranging from iOS groovebox apps to DIY MIDI controllers.
He is particularly interested in novel interfaces for musical expression, such as live coding. When he's not programming, he can often be found generating weird noises with computers or synthesizers, or playing drums in hardcore punk bands.