Making music with a C compiler

Audio synthesis and composition without instruments, notes or tracks is possible: One can create music interpreting the output of short programs written in the C programming language as a description of a waveform using pulse-code modulation (by piping to /dev/dsp).

This approach requires a reinterpretation of common computational primitives in the context of audio synthesis. Complex multitonal melodies can be created and combined using a single iterator and bitwise operations. Effects can be created exploiting architectural artifacts like modular integer arithmetic – integer underflows can yield snare sounds.

As C is turing-complete, it should not be used as an input language on LANGSEC grounds. As an alternative, I will present a stack-based programming language suitable for audiovisual live coding and a Free Software implementation of the underlying VM architecture, libglitch.