Programming languages used for music

timthompson.com

161 points by ofalkaed 2 days ago


listenfaster - 25 minutes ago

Very creative guy operating this site (look at this! https://timthompson.com/spacepalette/) though it looks like it’s been idle the past 4 years or so? The live-coding community around tidal cycles will point you to a the fruit of missing projects like tidal-cycles and strudel. A strong inviting community: https://club.tidalcycles.org/

sandebert - 5 hours ago

Switch Angel live-code using Strudel. Really impressive and interesting stuff.

https://youtu.be/aPsq5nqvhxg

dmd - 9 minutes ago

And at least 5 times a year someone designs a new one where it is painfully obvious that they're almost entirely unaware that anyone has ever designed one before - or if you're very lucky, maybe they've heard of ABC.

Blackthorn - 2 hours ago

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.

incanus77 - 26 minutes ago

Surprised no mention of Alda. I’ve only tinkered with it, but it’s clever:

https://alda.io/

turboladen - 22 minutes ago

It’s quite new, but I’ve been interested to try out this Rust-y syntax language that compiles to SuperCollider: https://vibelang.org/

benrutter - 8 hours ago

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

azath92 - 7 hours ago

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)

fnordlord - 2 hours ago

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.

zX41ZdbW - 5 hours ago

I use SQL for music: https://github.com/ClickHouse/NoiSQL

chaosprint - 5 hours ago

Relevant to this discussion - my project Glicol (https://glicol.org) addresses this space. Currently working on a no_std rewrite, demo coming next year :)

heuermh - an hour ago

I have been using ChucK for a long time. Like others here, I appreciate Max/Pure Sound but would rather use my text editor.

  Delay delay;
  LPF filter;
  Reverb reverb;
  Gain feedback;
  
  adc => delay => filter => reverb => dac;
  filter => feedback => delay;
erk__ - 5 hours ago

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

asupkay - an hour ago

There's a community in NYC called Livecode that hosts in person events for programming music and it's awesome

bebb - 5 hours ago

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.

3ds - 5 hours ago

It's missing "Strudel" and "tidal cycles"

ako - 6 hours ago

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.

philprx - 8 hours ago

Strudel.cc ?

opminion - 7 hours ago

No Sonic Pi, which is a Ruby dialect?

shevy-java - 6 hours ago

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 ...

jackkinsella - 8 hours ago

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.

https://abc.hieuthi.com/

rausr - 8 hours ago

I recently tripped over Dogalog (live-coding with prolog-like code), which could be an addition: https://danja.github.io/dogalog/

gdelfino01 - 4 hours ago

There is some sound and music functionality in the Wolfram Language:

http://reference.wolfram.com/language/guide/SoundAndSonifica...

lynx97 - 7 hours ago

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.

yakshaving_jgt - 2 hours ago

Haskell is also a popular choice for music production and live music performance.

https://youtu.be/XYe8AKYPUYc?si=ZYP4QM5FLn00-5u6

hellobluelings - 7 hours ago

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?

jarmitage - 6 hours ago

see also https://github.com/toplap/awesome-livecoding

oliverpaddock - 3 hours ago

[dead]