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
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.
[0]: https://www.youtube.com/watch?v=yRzsOOiJ_p4&list=PLPYzvS8A_r...
If it’s the same, it’s one that if I win the lottery I’d spend my time learning along with this tool from Imogen https://mimugloves.com/
I don’t think I’d ever produce something worth listening to, but if I won the lottery, why would I care beyond my own enjoyment?
It's giving me some ideas for a TUI video editor using that grid interface. What a cool project.
Not a big commitment from a user, and nothing lost if it doesn´t work as hoped.
I'm just positively surprised how quickly you can create a prototype for these sorts of ideas with Claude Code. This is literally just a few hours of vibe-coding.
BTW. I've played with LLM in sound design tasks recently. Vibe coded MCP server for Waldorf Blofeld gave me good results. Sorry, no demo.
Or maybe it is already possible, to be fair I haven't looked closely.
https://daisy.audio/hardware/, https://github.com/electro-smith/libDaisy
https://github.com/chaosprint/daisy-rust-playground
but for now my main mcu is rp2350
I feel like that’s kinda how people imagined navigating whatever cyber domain when the first big cyberpunk novels came out
Writing code to make music feels so natural to me (a musically inept, but proficient coder) and this breaks down so many barriers.
I wonder how Cursor fares with Strudel so far.
She is also a main developer on the strudel project. If you want to contribute, it is open source:
honestly i think the planning is at most a few minutes long (once she decides what she will go for) then she probably let the experience talk.
One interesting feature is it has built-in vibe coding, to produce an LLM-generated loop program to start one's creative journey.
```
Limitations
I haven't, yet, found a good way to implement filters (low-pass, high-pass, band-pass, etc.). It does not have Fourier transform, and we cannot operate on the frequency domain. However, the moving average can suffice as a simple filter.
```
I wonder if there's a way to implement the FFT using subqueries and OVER/partitioning? That would create a lot of room for some interesting stuff to happen, specifically making it easy/possible to implement filters, compression, reverberation, and other kinds of effects.
Two other primitives that would be valuable to figure out: 1. How to implement FM/phase distortion. You can basically implement a whole universe of physical modeling if you get basic 6 op sine wave primitives right with FM + envelopes. 2. Sampling/resampling - given clickhouse should do quite well with storing raw sample data, being able to sample/resample opens up a whole world of wavetable synthesis algorithms, as well as vocal editing, etc.
Honestly, although the repo's approach is basic, I think the overall approach is wonderful and have wanted to be able to use SQL to write music for a while. I've spent a lot of time writing music in trackers, and being able to use SQL feels like it would be one of the few things that could spiritually be a successor to it. I've looked at other live coding languages, many of which are well built and have been used by talented people to make good music (such as Tidal, Strudel, etc). But all of it seems like a step down in language from SQL. I'd rather have their capabilities accessible from SQL than have to use another language and its limitations just to get those capabilities.
Food for thought -- thanks for the interesting and thoughtful work!
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
http://reference.wolfram.com/language/guide/SoundAndSonifica...
* 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.
What really blows my mind is that I wasn't at all put off by the tiny little Mac monitor, it just seemed normal. No way I could work with such a small b&w screen today I'd go mad. (weirdly I feel less creative than i did in the 1980's and NOW i have near infinite recording & mixing options. The irony.)
There is value in what has already been built for these languages but once you move beyond that, life is so much easier to just use python.
Cecilia5 is a great example of that being rewritten from csound to pyo.
While I'm not holding my breath, Ableton the company are transitioning into a steward-ownership model in which the stewards will have decision rights over the company. So I have hope that it will continue to grow in ways that are less affected by market considerations and that are a little more opinionated and specialized. Not to mention that Ableton own Cycling 74 (creators of Max/MSP).
So it's not out of the realm of possibility.
Not everything in Max is exposed to your code, but you really can do a lot from the JS side of things.
I was deep into Max/MSP around 2010 and made a personal vow to leave it alone. The potential to reinvent the wheel and build tools instead of completing records was too much.
Now I'm in a more mature place, so I could see myself diving back into it eventually.
Delay delay;
LPF filter;
Reverb reverb;
Gain feedback;
adc => delay => filter => reverb => dac;
filter => feedback => delay;Ideally there would be an easy path from ChucK to implementing all of these things in hardware but I haven't quite got there yet.
https://news.ycombinator.com/item?id=10180423
In the comments, I saw reference to MML ( Music Macro Language ... not exactly what I think the MML is on the list. ) Here's the one referenced in the HN post.
https://en.wikipedia.org/wiki/Music_Macro_Language
At the time, I built a small interpreter that included MML as an embedded language, but I don't think I have the (Windows) binaries handy.
I've used ai.splitter to generate stems, but need to go and identify tones and notes before plotting on to a sheet of music. I'm looking at doing this as a beginning cello student.
The spec even mentions [0] that you're allowed to use <div>s to group dt/dd pairs for styling purposes.
[0]: https://html.spec.whatwg.org/multipage/grouping-content.html...
Another fun esoteric music language missing in the comments is ORCA: https://git.sr.ht/~rabbits/orca
I learned about it after stumbling across the creator's short, fun videos showing it being used: https://youtube.com/playlist?list=PL_yUKG0GRuliL65l_qEG1uwCC... ("Python Music Shorts")
It's open source, and we wrote some technical documentation at https://github.com/code-dot-org/code-dot-org/blob/600ebafa52....
There were a bunch of interesting aspects to this project. One of my favorite things was developing the user programming model. Organizing your music using functions is very powerful.
jackkinsella•1mo ago
https://abc.hieuthi.com/