In “live-coding” concerts, musicians interactively perform on stage, programming activities that dynamically drive audio synthesis systems; computer screens or dedicated video outputs are displayed for the audience to see what is being done. Betablocker is a simple, multithreaded virtual machine designed for live-coding music performance. Besides traditional computation opcodes, a NOTE instruction pops the machine stack and plays the current sample at the frequency specified by the popped value. Betablocker code can be overwritten at runtime, and all programs are executable by design and never stop. Metaphorically, Betablocker gives a glimpse of what computation sounds like.
Betablocker programs are simulated and modified live during a performance using a gamepad instead of a keyboard; parts of the code with interesting audio properties emerge dynamically and can be manually (or automatically via genetic algorithms) selected and manipulated by tweaking the program code. Two main modalities were discovered: a rhythm mode, in which drastically slowed-down computation (at a couple of cycles per second) yields polyrhythmic techno-like music, and an audio mode, where sonic properties can be directly heard. This system has been used in actual concerts in Norway, Helsinki, London, and Karlsruhe using either a SuperCollider-based simulator or a Gameboy DS system. In an even wilder extension, a text-to-Betablocker translator has been used to transform text manipulation into code modification, in the footsteps of the Oulipo tradition.
This easy-to-read and thought-provoking paper will be of use to computer music specialists interested in enhancing the tools dedicated to live-coding practices.