I really hope that Max becomes fully accessible in a text based format one day. It's so cool and I've spent a few months randomly through the years building neat plugins for Ableton but, for me, it would be so much stickier if it was code. Especially now with AI assistance, Claude can still be helpful but it hallucinates a lot harder when trying to describe visual code.
In order, the most popular ones of these are probably
* Max. It's built into a popular DAW, and is shockingly capable as an actual programming language too. The entire editor for the Haken line of products is written in Max.
* Pure Data or Supercollider.
* Csound.
Not ordering things like Scala or LilyPond that are much more domain-specific.
I use SQL for music: https://github.com/ClickHouse/NoiSQL
Looks interesting, but I think it's a little dated- sadly most of the links I tried on this page don't seem to be active anymore?
Here's a currently active list on github in case somebody's left needing a fix of music programming: https://github.com/zoejane/awesome-music-programming
Almost an esolang, but orca is an amazing example of spatial programming for music production (GH https://github.com/hundredrabbits/Orca and video https://www.youtube.com/watch?v=gSFrBFBd7vY to see it in action)
Relevant to this discussion - my project Glicol (https://glicol.org) addresses this space. Currently working on a no_std rewrite, demo coming next year :)
Yesterday i used Claude Code to define and implement a YAML based DSL for playing backing tracks. I can ask an LLM to generate this DSL for any well known song, and it will include chord progression, lyrics, bass, drums, strumming pattern, etc. It's a go command line tool that plays the DSL via midi, and displays the chords, strumming patterns, and lyrics. Also does export to Strudel.
There was a music language made for the Danish GIER machine, made in 1971 (at least the 2nd edition of the handbook is from there)
The handbook for the language is sadly only in Danish so it might not be super interesting: https://datamuseum.dk/bits/30002486
Here is the code for movement 1 and 2 of Eine Kleine Nachtmusik: https://datamuseum.dk/aa/gier/30000644.html
Strudel.cc ?
I kind of want to create music programmatically but so far it has been way too difficult. I also can barely find anything useful via oldschool google search anymore. I am almost stuck like with MIDI here ...
There is some sound and music functionality in the Wolfram Language:
http://reference.wolfram.com/language/guide/SoundAndSonifica...
There was one on HN a few weeks ago, tailored towards loops: https://news.ycombinator.com/item?id=46072280
One interesting feature is it has built-in vibe coding, to produce an LLM-generated loop program to start one's creative journey.
Haskell is also a popular choice for music production and live music performance.
Musicabc has some really nice JS and Obsidian plugins that essentially allow you to create little scrapbooks of musical ideas in markdown that are also playable as sound and viewable as sheet music.
I recently tripped over Dogalog (live-coding with prolog-like code), which could be an addition: https://danja.github.io/dogalog/
Csound (I think v3) was the first music language I played with, back in the early 90s, under DOS even. Back then, running in real-time wasn't a thing. Generate a WAV file and play it after the program finished. Later, at the end of the 90s, I remember playing with CLM/CM, in common lisp.
But the most productive experience was definitely SuperCollider. I can only recommend giving it a try. Its real-time sound synthesis architecture is great. Basically works sending timestamped OSC messages AOT (usually 0.2s). It also has a very interesting way of building up so-called SynthDefs from code into a DAG. I always wondered if a modern rewrite of the same architecture using JIT/AOT technology would be useful. But I digress... SC3 is a great platform to play with sound synthesis... Give it a try if you find the time.
There is also literate programming for music, right? Just like Donald Knuth describes it in his literate programming approach? See for example the videos by Fauci etc. They say things like eh eh, pause then play music using items such as a pen, there is even a conductor. Very entertaining. Is that true? Or just my imagination?
[dead]
Switch Angel live-code using Strudel. Really impressive and interesting stuff.
https://youtu.be/aPsq5nqvhxg