Programmable Music Tools #
Before getting into this list, I also want to point out that there’s an endless number of programmable music sequencing tools which can be found built into VST plugins, larger audio software, and even video games. I’m particularly fond of the huge number of interesting sequencers for VCV Rack, such as Quad Algorithmic Rhythm Generator, Entropia, Fate, Marbles, and Orca’s Heart - just to name a few.
This list absolutely can not have everything. Still, I’ve tried to highlight some of the more novel ideas.
It’s also worth mentioning, there are very interesting hardware tools such as the monome norns, and Toroso T-1
Finally, if you’re into VJ work, you may want to check out The big list of generative art tools in the Design section of this website. If you’re looking for hardware for this role, you may want to check out the hypno by Sleepy Circuits or the Critter & Guitari Eyesy.
Extra Tools for ORCA:
Chuck is a programming language for real-time sound synthesis and music creation. It is open-source and freely available on MacOS X, Windows, and Linux. Chuck presents a unique time-based, a concurrent programming model that’s precise and expressive (we call this strongly-timed), dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OpenSoundControl, HID device, and multi-channel audio.
enables live coding in Ableton Live’s session view. Set up transformations that trigger whenever a source clip is changed, including arpeggiation, shuffling, and ratcheting/retriggering.
Max is much friendly and more useful than Pure Data, though it’s also not FOSS.
Both are visual programming environments which are rather low level (much lower level than VCV Rack, for example) and so are less useful in a live context; however, they’re extraordinarily powerful for making your own instruments which you can play live.
The reason I’ve grouped them together is that both Max and PD share the original author, Miller Puckette; however, it’s very clear that PD has more or less stagnated while Max has grown
This gif was ripped directly off of https://cycling74.com/products/max
ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support for Lua 5.1
Moonlet: Lua live coding. It only works on Linux and Windows.
Live coding music with Algorithmic patterns
Free/open-source software
Tidal Cycles (or ‘Tidal’) for short is free/open source software written in Haskell. Tidal is using SuperCollider, another open-source software, for synthesis and I/O.
Pattern everything
Tidal Cycles allows you to make patterns with code. It includes a language for describing flexible (e.g. polyphonic, polyrhythmic, generative) sequences of sounds, notes, parameters, and all kind of information.
Collaborative Programmable Music
Overtone is an open source audio environment designed to explore new musical ideas from synthesis and sampling to instrument building, live-coding and collaborative jamming. We combine the powerful SuperCollider audio engine, with Clojure, a state of-the-art lisp, to create an intoxicating interactive sonic experience.
VJ Ready:
Synchronize your visuals and noise with ease. Overtone features seamless integration with both Quil, a Clojure front-end to Processing and ShaderTone, a Clojure version of ShaderToy an OpenGL GLSL shader programming environment.
Siren, is a tracker interface that embodies abstractions where programming is realized as the medium for pattern sequencing in a modular fashion. It is based on a hierarchical structure that consists of scenes and channels. Separate channels have independent patterns; a complete song consists of a master list of repeated patterns.
Supported programming languages :
- SuperCollider
- Haskell/TidalCycles
“Extempore is a programming language and runtime environment designed to support cyberphysical programming”
Nestup is an experimental markup language for musical rhythms. It’s specifically designed to break away from a fixed musical grid.
The name is a contraction of nested tuplets, which are hard to program on a piano roll but easy to notate with Nestup.