Music and programming share deep mathematical roots, but have very different senses of “performance”. At OSCON, Andrew Sorensen reunited those two branches to give a live “concert” performance as a keynote. Sorensen brought his decade of “live coding musical concerts in front of an audience” to a real-time demonstration of Extempore, “a systems programming language designed to support the programming of real-time systems in real time”:
“Extempore is designed to support a style of programming dubbed ‘cyberphysical’ programming. Cyberphysical programming supports the notion of a human programmer operating as an active agent in a real-time distributed network of environmentally aware systems.”
Sorensen’s performance built music from a series of mathematical patterns, adding and connecting components over the course of the talk. He showed:
- A wide range of performance venues, including duets and concerts controlling acoustic instruments — 0:19
- A first snippet of code and tune — 2:02
- Applying temporal recursion to music — 2:41
- Bringing in harmonic progression — 2:57
- The ways that “evil global state… make it easier to integrate other parts” — 3:54
- A different use for cosine and set theory — 4:10
- Dropping in a bass line — 5:04
- Adding some “sparkly stuff” with a synth sound occasionally — 5:50
- Creating kickdrum and high-hat lines with variations — 6:40
- Bringing the harmonics to a happy major conclusion — 7:50
- “Winding everything back down again” — 8:18
I look forward to future performances!