Programming languages used for music

2025-12-2018:40316105timthompson.com

Click on each language name for more details Computer/OS:Portable (currently Unix, Linux, Win32 - embedded in future)Year:1997-1998 Author:ISO MPEG, project led by Eric ScheirerManipulates:Audio…

Click on each language name for more details

Computer/OS:Portable (currently Unix, Linux, Win32 - embedded in future)Year:1997-1998
Author:ISO MPEG, project led by Eric ScheirerManipulates:Audio
Web:http://sound.media.mit.edu/~eds/mpeg4/Implementation:Spec is implementation-independant
Paper:Scheirer, E. D. 'SAOL: The MPEG-4 Structured Audio Orchestra Language". Proc ICMC 1998, Ann Arbor, MA. Scheirer, E. D. 'The MPEG-4 Structured Audio Standard', in Proc. IEEE ICASSP, May 1998, Seattle, WA.

Scheirer, E.D. 'Structured Audio and Effects Processing in the MPEG-4 Multimedia Standard', to appear in ACM Multimedia Systems.

Description:SAOL is a music-synthesis and effects-processing language which is a component of the MPEG-4 standard (ISO/IEC 14496-3). It follows a Music-N paradigm, but has a number of novel extensions, most notably the ability to define new unit generators within the language. In MPEG-4, SAOL is used to transmit synthesis descriptions controllable with MIDI or by a new lightweight score format called SASL, and to transmit effects-processing algorithms which apply to natural (waveform-encoded) audio within the MPEG-4 audio scene.
Computer/OS:WindowsYear:1998
Author:Manipulates:MIDI
Web:http://www.zelsoftware.com/Implementation:
Paper:
Description:Zel is a computer language for creating MIDI data. Its features include -low language overhead--"a b c" plays a b c . -powerful macro capabilities with parameter passing, -automatic distribution of notes into multiple tracks, -file inclusion, -controller/tempo/velocity sequence generation, -automatic pitch-bend generation, -integer/fractional/decimal/MBT/SMPTE duration formats, -fine control of note displacement, -unlimited tracks, -attribute inheritance ( track->chord->note ) -random or sequential pick from a list of weighted macros -can automatically apply macro based on note timing -sysex file inclusion and sub-parser -musical thread isolation using parentheses -looping -define and transpose sets of notes and reference them

-supports MIDI text and meta-events


Read the original article

Comments

  • By sandebert 2025-12-2212:009 reply

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

    https://youtu.be/aPsq5nqvhxg

    • By AlexB138 2025-12-2216:582 reply

      This is pretty incredible to watch. I initially thought she must be pulling some kind of trick to make that look so fluid, but the fact that she is making very small typos and correcting them as she goes make it look very believable. This is really the first time I've watched someone use one of these tools and it feel like a musician using a new kind of instrument.

      • By sandebert 2025-12-2217:003 reply

        Yeah, she's got several videos, and shorts, where she does this. It's clear she really, really understands how to do what she wants to achieve!

        • By cowsaymoo 2025-12-2217:17

          If you go back to the older videos she has like a decade of experience messing around with modular synths to make music live that is actually listenable.

          She is also a main developer on the strudel project. If you want to contribute, it is open source:

          https://codeberg.org/uzu/strudel

        • By junon 2025-12-2218:15

          As a producer, wow. She can visualize the outcome she wants without ever seeing much at all. That takes a ton of skill. Insanely impressive video.

        • By AlexB138 2025-12-2217:10

          Yeah, I'm watching more. These are incredible. I really like how she describes what she's doing in tempo with the music as she does it. The description is basically part of the performance. Really unique and engaging approach.

      • By empath75 2025-12-2217:551 reply

        I think the videos are done live, but she plans them out, she isn't just winging it.

        • By lucyjojo 2025-12-230:43

          she is a producer, not making anything innovative music wise (she must have done similar things thousands of times), with a long experience in live music, and she is a/?the? core dev of the tool she is using.

          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.

    • By george_____t 2025-12-2216:031 reply

      Just to add some context, Strudel is TidalCycles ported from Haskell to JS. IMO, Haskell is a much nicer language for this stuff. Hopefully, now that GHC can output WebAssembly, someone can build a web-based music programming environment around the original TidalCycles instead.

      • By loxs 2025-12-239:45

        Is there feature parity? Strudel might be ahead by now?

    • By NeutralForest 2025-12-2214:31

      I've watched a couple of her stuff, it's really inspiring and feels very cosy, like a slice of Internet that lives on its own and creates without being too bothered about the Algorithm™.

    • By AStrangeMorrow 2025-12-2215:42

      Yeah love her stuff. And honestly the voice description is part of the music flow at this point.

      I feel like that’s kinda how people imagined navigating whatever cyber domain when the first big cyberpunk novels came out

    • By lagniappe 2025-12-2216:17

      The person in that video really has an ear for synthesis. I've spent quite some time watching all the strudel videos and this creator consistently shows the best skill across genres.

    • By ar_lan 2025-12-2216:321 reply

      This was epic, and reminded me of the magic of programming when I first found a video game maker at a wee 11 years old.

      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.

      • By fragmede 2025-12-230:48

        Dunno about Cursor, but Claude code > codex, in my experimentation, but that was before 5.2.

    • By theossuary 2025-12-2217:40

      This is one of my all-time favorite YouTube videos, and it's of her coding music - https://youtu.be/iu5rnQkfO6M

  • By Blackthorn 2025-12-2214:523 reply

    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.

    • By why-o-why 2025-12-2222:25

      When I was first introduced to Max it was on a Mac SE in 1989, and I really only used it for saving & restoring patches (on my SY77 and U110) until someone walked me through how it really worked. I didn't understand what it could do, and I rejected it at first because it was too open-ended for me to see utility. Lol. How things changed after that.

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

    • By quantpunk 2025-12-2310:24

      I learned programming with csound in the 90s but for me, Pyo and Librosa means there is no reason for a specialized language outside of python.

      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.

    • By veunes 2025-12-2312:48

      Csound is funny because it's everywhere in the lineage, but relatively few people seem to arrive at it organically now

  • By lynx97 2025-12-2210:071 reply

    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.

    • By whilenot-dev 2025-12-2211:54

      I can vouch for the tutorial series from Eli Fieldsteel[0] for getting into SuperCollider and audio synthesis in general. If you were ever curious on how to bridge the gap between signal processing and music theory through mathematical operations, I think this is one of the best series out there.

      [0]: https://www.youtube.com/watch?v=yRzsOOiJ_p4&list=PLPYzvS8A_r...

HackerNews