https://strudel.cc has been the most intuitive music livecoding experience I've come across. In-line piano rolls and waveform visualizers, highlighting current notes - I love it.
I'm currently halfway through making an album entirely in Strudel
I'm just going to mention Pure Data here, because I'm always surprised when people don't know about it. https://puredata.info/
I use it in my art and music practice to interface with hardware like a GameTrak controller, and to control drone motors for bowing/drumming physical things for computer controlled electroacoustic music. I also use it at a university lab for the development of assistive musical instruments for disabled musicians. It is both an extremely useful tool, and an incredibly fun musical playground for the mind.
The first time I came across puredata was while I was debugging a networking issue at $JOB. After ssh-ing into the host machine, I was looking through what tools were installed, and came across `pd` in $PATH. I ended up discovering that someone had added `pd` to the provisioning script years ago, thinking they were installing pandas (the Python package).
Amazing job! The live editor capabilities are really well-thought.
I've inspected the code briefly [1] and it seems that there is a fairly sophisticated domain specific parser which handles live updates, history tracking and WebAssembly hot reaload. It also uses AssemblyScript [2] as an intermmediate language.
I wonder whether all if this was implemented manually or with the help of LLMs. In either case, author has my respect.
Tysm! Technically, about the audio engine, the language is fully Turing complete, compiling bytecode which then gets swapped out in realtime and executed by a VM running in WebAssembly/AssemblyScript. All the gens/effects/filters are implemented in a custom DSL that gencodes AssemblyScript classes with all the permutations of parameters whether they're scalar or audio inputs in order to achieve the maximum performance possible. I had a lot of help from the LLMs but all of the components had been previously implemented by hand as well multiple times in previous versions, so I had a clear direction. If you have any questions feel free to ask, we also have a Discord you can find it in the homepage at the footer.
> Orca is a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame.
It's a compromise of speed vs quality. You can do `oversample(8, ()-> ...)` to get an increase in quality on certain occassions but that will slow down the performance.
If anyone wants to contribute gens/filters[0] the code is open source under MIT.
Ah, I overlooked that info, not expecting to see it in the very readily shown ‘welcome’ tab. Looks like it’s copylefted, too. And present on the Fediverse. Very nice!
https://strudel.cc has been the most intuitive music livecoding experience I've come across. In-line piano rolls and waveform visualizers, highlighting current notes - I love it. I'm currently halfway through making an album entirely in Strudel
Can you share anything so interested parties can follow you? I love strudel as well.
Top album here :) You can find and reuse / remix all the Strudel code via the links: https://johnoestmannmusic.com/albums/
I love the term "Geometric Mysticism".
Thanks!
I wanted to embed it on my blog but couldn’t because of the license.
I'm just going to mention Pure Data here, because I'm always surprised when people don't know about it. https://puredata.info/
I use it in my art and music practice to interface with hardware like a GameTrak controller, and to control drone motors for bowing/drumming physical things for computer controlled electroacoustic music. I also use it at a university lab for the development of assistive musical instruments for disabled musicians. It is both an extremely useful tool, and an incredibly fun musical playground for the mind.
The Plugdata variant of Puredata is particularly handy. https://plugdata.org/
Plugdata can run as a plugin in your DAW, compile to a standalone plugin, and compile and load sketches onto a Daisy Seed (https://electro-smith.com/products/daisy-seed).
The first time I came across puredata was while I was debugging a networking issue at $JOB. After ssh-ing into the host machine, I was looking through what tools were installed, and came across `pd` in $PATH. I ended up discovering that someone had added `pd` to the provisioning script years ago, thinking they were installing pandas (the Python package).
> Plugdata can run as a plugin in your DAW, ...
And as an iPad app! :)
Amazing job! The live editor capabilities are really well-thought. I've inspected the code briefly [1] and it seems that there is a fairly sophisticated domain specific parser which handles live updates, history tracking and WebAssembly hot reaload. It also uses AssemblyScript [2] as an intermmediate language.
I wonder whether all if this was implemented manually or with the help of LLMs. In either case, author has my respect.
[1]: https://github.com/loopmaster-xyz
[2]: https://www.assemblyscript.org/
Tysm! Technically, about the audio engine, the language is fully Turing complete, compiling bytecode which then gets swapped out in realtime and executed by a VM running in WebAssembly/AssemblyScript. All the gens/effects/filters are implemented in a custom DSL that gencodes AssemblyScript classes with all the permutations of parameters whether they're scalar or audio inputs in order to achieve the maximum performance possible. I had a lot of help from the LLMs but all of the components had been previously implemented by hand as well multiple times in previous versions, so I had a clear direction. If you have any questions feel free to ask, we also have a Discord you can find it in the homepage at the footer.
There's also Orca:
> Orca is a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame.
https://100r.ca/site/orca.html
I really want to see what would happen if you got a musically talented math teacher to teach a bunch of kids trig, music, and programming with this...
This is super cool, I really like the inline visualization and controls.
Why is this embedded in this Whop thing? That sounds like something on its own
Thanks! Whop is a funding platform like buymeacoffee but it had crypto as well (well, buymeacoffee also has now).
It looks cool but I wasn't able to get any audio when I started playing.
iOS 26.4.2, Safari, sound is on.
> iOS
Speaking from experience, it requires a disproportionate amount of effort to get web audio apps working reliably across different versions of iOS.
This is awesome, the filters sound excellent and UI is great.
The filters sound digital, as someone remarked the last time this was posted. https://news.ycombinator.com/item?id=47335880
It's a compromise of speed vs quality. You can do `oversample(8, ()-> ...)` to get an increase in quality on certain occassions but that will slow down the performance.
If anyone wants to contribute gens/filters[0] the code is open source under MIT.
[0]: https://github.com/loopmaster-xyz/engine/tree/main/dsl
well done! flipped to 1 4 5 just to see what would happen and it didn't miss a beat (literally and figuratively).
Cool tool. Gets posted a lot. Anything new?
Nothing new, just felt like reposting :)
Simply... amazing
No sound for me
I had the same problem on iPhone. Turning my ringer on solved it.
Shoutout to Sonic Pi (https://sonic-pi.net/) for still being the best at this.
Obligatory https://strudel.cc/ mention, same thing bit different, have made music in any of them. But I follow artists that use strudel.
Is it libre software?
yes
Ah, I overlooked that info, not expecting to see it in the very readily shown ‘welcome’ tab. Looks like it’s copylefted, too. And present on the Fediverse. Very nice!
https://codeberg.org/uzu/strudel
Where did you find links to artists using strudel?
My favorite so far is charstiles.
Any others you can point me to? Or communities where I can explore?
Not an exhaustive list, but the site has a Showcase page[0]. The readme[1] also has a link to their Discord server along with their forum.
[0] https://strudel.cc/intro/showcase/
[1] https://codeberg.org/uzu/strudel
[2] https://club.tidalcycles.org/