Show HN: CLAVIER-36 – A programming environment for generative music
66 river_dillon 14 9/13/2025, 2:22:59 PM clavier36.com ↗
CLAVIER-36 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.
The project was very directly inspired by Orca (https://100r.co/site/orca.html). It began as my own from-scratch implementation of Orca and diverged over time.
It's written in C, and compiled to WASM for the browser.
See the following pages for more info:
about page: https://clavier36.com/about
user manual: https://clavier36.com/manual
tutorial video: https://youtu.be/rIpQmJVMjCA
He’s a friend, but I am very unbiased in saying that the sample-rate execution of the entire grid seems like an incredible technical achievement.
One of the craziest (super super noisy but fascinating to watch) grids uses just a few “operators” that generate random operators and random values, and place them at random location.
That grid runs - easily! in the browser!! - at 1000 bpm. Forget 60 fps :)
I’ll update my comment linking to this patch so you can take a listen. It’s stunning, organic and very punk.
Very briefly, I contributed the CI pipeline that makes git push build the wasm and deploy it to a micro server that sets the specific required headers. I used the deployment tool I’ve been working on with a friend, which is called Disco.
There was something about wasm/the audio worklet requiring super specific headers - `Cross-Origin-Embedder-Policy: require-corp` … Nothing too complicated.
The other part I contributed is the loading/saving patches to Firebase, which lets people share compositions.
But all of the audio, grid, ui is all River’s!
https://github.com/hundredrabbits/orca
https://store.steampowered.com/app/3614060/CLAVIER36/
A Steam version is definitely coming - the biggest question re Steam Deck is how to deal with the input..
Do you use/like any other audio software on the Steam Deck?