OVERVIEW
CLAVIER-36 (alternatively C36) is a programming environment for generative music. Programs are laid out in a two-dimensional grid, and evolve over time according to a fixed set of rules. The system is much like a cellular automaton, in that most of the rules governing the evolution of the system are local.
C36 programs describe sequences of discrete events in time. The environment includes a primitive sampler, as a self-contained means of interpreting these events as sound. For full expressivity, though, the system is best used as a generator of data for interpretation by an external musical instrument, such as a synthesizer. As of the time of writing, the only supported communication protocol is MIDI. In the future, we may support other protocols.
DISTRIBUTION
The software is distributed through Steam for Windows and macOS. There is also a limited version that runs in the browser. The limitations of the browser version are as follows:
- MIDI output is not implemented.
- The size of loaded samples is limited to 1MB.
- Performance is not quite as good as the native version.
TUTORIAL
FAIR WARNING
C36 is under active development. The semantics of the language will change significantly. Patches created prior to the release of version 1 will likely not load correctly in future versions of the software.
RELATIONSHIP TO ORCA
CLAVIER-36 was very directly inspired by Orca. The project began as my own from-scratch implementation of Orca and diverged over time. Many thanks to Devine and Rekka for creating such a lovely piece of software.
CLAVIER-36 aims to be a self-contained instrument, whereas Orca is designed to control an external piece of hardware or software. This is achieved primarily through the inclusion of a sampler.
Because CLAVIER-36 is in control of the entire signal processing pipeline, it can be more precise with timing. (Devine has discussed some of the timing problems in Orca's implementation here, around 41:24.)
The language semantics are also substantially different. For example, CLAVIER-36 distinguishes between operators and literals in a way that Orca doesn't. If you're coming from Orca, do not expect the language to work in the same way.
CONTACT
There is a discord server.
Please email me! I want to hear about how you are using the software.
CREDITS
Created by River Dillon.
Inspired by Orca.
Additional web programming by Greg Technology. Deployed using Disco.
Thank you to Richard Whaling help with language design.
Thank you to Paul Batchelor, Dan Friedman, Jack Leightcap, Shenai Chan, and Won Chun for design and programming discussion.
Thank you to the Recurse Center for providing beautiful space to work. (I encourage you to apply, if you have the chance.)