
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…
| Computer/OS: | Portable (currently Unix, Linux, Win32 - embedded in future) | Year: | 1997-1998 |
| Author: | ISO MPEG, project led by Eric Scheirer | Manipulates: | 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: | Windows | Year: | 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 |
Switch Angel live-code using Strudel. Really impressive and interesting stuff.
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.
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!
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:
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.
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.
I think the videos are done live, but she plans them out, she isn't just winging it.
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.
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.
Is there feature parity? Strudel might be ahead by now?
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™.
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
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.
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.
Dunno about Cursor, but Claude code > codex, in my experimentation, but that was before 5.2.
This is one of my all-time favorite YouTube videos, and it's of her coding music - https://youtu.be/iu5rnQkfO6M
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.
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.)
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.
Csound is funny because it's everywhere in the lineage, but relatively few people seem to arrive at it organically now
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.
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...