Allow me to use this post to give big kudos to the maintainers of Strudel for having put together a brilliant set of official docs. I found them incredibly well put together and hence really useful to learn. I have played around with Strudel many evenings and I am always amazed about how intuitive Strudel is to create beats and sounds, to the point that I prefer to create music in Strudel over the established DAW software. I would love for there to be a good bridge between producing sounds and beats with Strudel code and structurering and mastering an entire track. This is missing in Strudel since it’s clearly build for a live coding environment. Any tips from users about ways or tools to make this bridge are always welcome!
this is awesome. The only code instruction video instructions that I have watched that doubled as a song. At first I thought it was the Euro dance hall lyrics and then I realized it was actually the code instructions.
Yeah, thanks for both posts. I love the narration with the live coding (like a conversation with voice and code). If I can get to that level, I'll die a happy man.
Strudel is dope and a ton of fun, but every single piece of its interface seems determined to confuse people who already know music theory and composition.
That's not really a point against it, it's a great tool and it's a ton of fun, but I wish there was a way to use it that at least kind of sort of mapped back to traditional music notation, especially rhythm notation.
That demo is excellent. You can uncomment some lines at the bottom and hit alt+enter (or click the Update button) to add visualization effects too.
I shed an actual tear. I dreamed of days like this. I got close, building a small language for generating generic music, but with decay, sawtooth and stuff? It's a functional DAW.
This is so incredible, musically, visually and didactically. Absolutely amazing. Absolutely amazing.
You made an entire performance. Good, good job
This is absolutely insane.
Wow, I started learning recently, I didn't know you can change the theme.
Also this music brings really good vibes!
I get more motivated when I can see it working directly and change some code here and there!
Thanks for sharing.
That's absolutely sick. I love seeing a full arrangement like this as opposed to destructive live coding--that's cool too, but I don't really vibe with it as a workflow. Definitely taking some inspiration from this.
Amazing! Though I can't get the theme to stop changing while the music is playing. Is there a setting I'm missing?
Set colors to false on line 133
Looks like the theme changes are part of the arrangement (see lines 135-149).
Well that song was my digital dopamine for the day. Couldn’t stop bobbing my head while in a busy train
Love this! Patterning the theme is such a great idea.
love how you change the style as it plays.
the custom font is a nice touch :)
Great work! I'm saving this one (I have it in a loop rn on my big screen).
Fantastic!
This is great! I'm not really into electro, but I really like this one!
Very cool! Thank you for sharing :)
That was a lovely experience.
I've run across more and more strudel musicians (developers?) doing a kind of live coding performance art and posting clips on tiktok and reels. It's really entertaining to watch. I've been meaning to dabble in it.
I went to a basement party/rave recently where the DJ was live-coding strudel, was incredibly cool to see in person. people would watch them type out new lines in anticipation of a beat drop
Pretty cool to see this post, I had no idea where to find more info about it!
Another live-coding environment that is quite nice (Haskell-based) is TidalCycles: https://tidalcycles.org
I wrote a whole album of material about 10 years ago with it, just remastered/re-released it. It's a fun way to write music while on an airplane!
Strudel is TidalCycles but in javascript.
It's fun to watch and somehow more approachable to me than a big program with lots of menus and virtual knobs.
That is the extent of my strudel knowledge, but damn this is cool.
Sadly doesn't even run at all on safari. "Importing a module script failed." :(
NOOOOOO!!!
I have submitted a talk for FOSDEM26 on Live Coding Music and Hardware with Strudel and MicroPython.
Hope to get in :)
There's also a neovim plugin for those who want to play around with this locally https://github.com/gruvw/strudel.nvim ; it essentially launches strudel in a browser but synchronizes the strudel and nvim editors.
EDIT: fixed link to not have trailing semicolon.
Is there a way (like a CSS rule or something similar) that when you look at the main strudel window, it only shows the piano rolls, punch cards, sliders, etc - but not the code?
Maybe with just the comments? This would be killer, since I have dual displays, and on one I can just focus on the code, the other one can have all the visual stuff.
I'm using this plugin, but having the code twice distracts me a lot (but I prefer the original neovim instead the integrated vim mode inside strudel).
Thanks in advance!
I'm not using the plugin, but this hides the code in the browser:
I've only just started playing around with it, so I don't know enough about it unfortunately. You could open an issue against the repo; the plugin owner might be able to answer your question.
Strudel is my favorite music coding environment. I mostly play on acoustic instruments but coding music has been really helpful as I try to learn music theory. Being able to just play in the browser without setup helps me focus on the music and less on fiddling with the tool. And it supports vim key bindings!
I love this approach to learning music.
A nitpick: Isn't the below statement wrong? I thought "RolandTR909" was the name of the soundbank which is used for both bd and sd?
"bd is bass drum (also called kick-drums),
sd is snare drum. RolandTR909 is the name of the sound."
Strudel is a great tool and is helping me to make EDM from scratch. There are good tutorials and music that is easy to get started or to make something really interesting.
Here's a Strudel fork that uses LLMs to turn instructions like "add a bass layer" into code: https://github.com/stuhlmueller/strudel-llm
Allow me to use this post to give big kudos to the maintainers of Strudel for having put together a brilliant set of official docs. I found them incredibly well put together and hence really useful to learn. I have played around with Strudel many evenings and I am always amazed about how intuitive Strudel is to create beats and sounds, to the point that I prefer to create music in Strudel over the established DAW software. I would love for there to be a good bridge between producing sounds and beats with Strudel code and structurering and mastering an entire track. This is missing in Strudel since it’s clearly build for a live coding environment. Any tips from users about ways or tools to make this bridge are always welcome!
I posted this link, some days ago:
Coding Trance Music from Scratch (Again) [video]: https://www.youtube.com/watch?v=iu5rnQkfO6M
It´s a well done programming and music performance
+1 Switch Angels performances
Increase the duck attack!
Every time I watch one of her performances, I smile when she says "... with the scope."
Is this real library/editor/programming-language ?? I don’t see anything on how it’s made?
It is!
She is using https://strudel.cc/
Yes, it's Strudel.
https://strudel.cc/
this is awesome. The only code instruction video instructions that I have watched that doubled as a song. At first I thought it was the Euro dance hall lyrics and then I realized it was actually the code instructions.
Yeah, thanks for both posts. I love the narration with the live coding (like a conversation with voice and code). If I can get to that level, I'll die a happy man.
Strudel is dope and a ton of fun, but every single piece of its interface seems determined to confuse people who already know music theory and composition.
That's not really a point against it, it's a great tool and it's a ton of fun, but I wish there was a way to use it that at least kind of sort of mapped back to traditional music notation, especially rhythm notation.
Loved playing with it! https://strudel.cc/?qVv8Cr0OD6cc
That demo is excellent. You can uncomment some lines at the bottom and hit alt+enter (or click the Update button) to add visualization effects too.
I shed an actual tear. I dreamed of days like this. I got close, building a small language for generating generic music, but with decay, sawtooth and stuff? It's a functional DAW.
This is so incredible, musically, visually and didactically. Absolutely amazing. Absolutely amazing.
You made an entire performance. Good, good job
This is absolutely insane.
Wow, I started learning recently, I didn't know you can change the theme.
Also this music brings really good vibes!
I get more motivated when I can see it working directly and change some code here and there!
Thanks for sharing.
That's absolutely sick. I love seeing a full arrangement like this as opposed to destructive live coding--that's cool too, but I don't really vibe with it as a workflow. Definitely taking some inspiration from this.
Amazing! Though I can't get the theme to stop changing while the music is playing. Is there a setting I'm missing?
Set colors to false on line 133
Looks like the theme changes are part of the arrangement (see lines 135-149).
Well that song was my digital dopamine for the day. Couldn’t stop bobbing my head while in a busy train
Love this! Patterning the theme is such a great idea.
love how you change the style as it plays. the custom font is a nice touch :)
Great work! I'm saving this one (I have it in a loop rn on my big screen).
Fantastic!
This is great! I'm not really into electro, but I really like this one!
Very cool! Thank you for sharing :)
That was a lovely experience.
I've run across more and more strudel musicians (developers?) doing a kind of live coding performance art and posting clips on tiktok and reels. It's really entertaining to watch. I've been meaning to dabble in it.
I went to a basement party/rave recently where the DJ was live-coding strudel, was incredibly cool to see in person. people would watch them type out new lines in anticipation of a beat drop
Pretty cool to see this post, I had no idea where to find more info about it!
Another live-coding environment that is quite nice (Haskell-based) is TidalCycles: https://tidalcycles.org
I wrote a whole album of material about 10 years ago with it, just remastered/re-released it. It's a fun way to write music while on an airplane!
Strudel is TidalCycles but in javascript.
It's fun to watch and somehow more approachable to me than a big program with lots of menus and virtual knobs.
Let me introduce you to a good time.
Step 1: https://strudel.cc/workshop/getting-started/ . Click play on coastline" @by eddyflux
Step 2: Listen for a while
Step 3: setcps(.75) -> setcps(1.5)
Step 4: Listen :)
That is the extent of my strudel knowledge, but damn this is cool.
Sadly doesn't even run at all on safari. "Importing a module script failed." :(
NOOOOOO!!!
I have submitted a talk for FOSDEM26 on Live Coding Music and Hardware with Strudel and MicroPython. Hope to get in :)
There's also a neovim plugin for those who want to play around with this locally https://github.com/gruvw/strudel.nvim ; it essentially launches strudel in a browser but synchronizes the strudel and nvim editors.
EDIT: fixed link to not have trailing semicolon.
Is there a way (like a CSS rule or something similar) that when you look at the main strudel window, it only shows the piano rolls, punch cards, sliders, etc - but not the code?
Maybe with just the comments? This would be killer, since I have dual displays, and on one I can just focus on the code, the other one can have all the visual stuff.
I'm using this plugin, but having the code twice distracts me a lot (but I prefer the original neovim instead the integrated vim mode inside strudel).
Thanks in advance!
I'm not using the plugin, but this hides the code in the browser:
.cm-line span { outline: none !important; color: transparent; background: transparent !important; }
I've only just started playing around with it, so I don't know enough about it unfortunately. You could open an issue against the repo; the plugin owner might be able to answer your question.
Fixed URL: https://github.com/gruvw/strudel.nvim
Link has a trailing semicolon and doesn't work - but awesome to have nvim + strudel!
https://github.com/gruvw/strudel.nvim
Now with no added punctuation!
I was excited to see this, but then realized only chapter 1 is done out of what ultimately will/should be a 25 chapter tome.
Strudel docs leave something to be desired as well.
What I've found to be the most useful so far is to ask an LLM to make a line of whatever: a beat, a synth, etc., tweak it, then layer it.
It gives a really good sense of how to architect a song file, which is missing from the little snippets in the strudel docs
This clip from an 80s spy comedy is probably too obscure to become a meme, but it deserves to be: https://clip.cafe/gotcha-1985/what-this-strudel/
A really great source for this is DJ Dave
DJ Dave: https://www.youtube.com/shorts/5OYiOGxHxTQ
She's using a live computational notebook as an instrument.
if you need a 4/4 clicker metronome I crafted this one :) https://strudel.cc/hNV6sevsZERY
Strudel is my favorite music coding environment. I mostly play on acoustic instruments but coding music has been really helpful as I try to learn music theory. Being able to just play in the browser without setup helps me focus on the music and less on fiddling with the tool. And it supports vim key bindings!
I love this approach to learning music.
A nitpick: Isn't the below statement wrong? I thought "RolandTR909" was the name of the soundbank which is used for both bd and sd?
"bd is bass drum (also called kick-drums), sd is snare drum. RolandTR909 is the name of the sound."
Strudel is a great tool and is helping me to make EDM from scratch. There are good tutorials and music that is easy to get started or to make something really interesting.
Is there a way to run it completely locally?
Yeah, it's on codeberg https://codeberg.org/uzu/strudel