After diving in and reading through the docs (the workshop intro is a great way to get started) I can say I am really impressed.
What I like about strudel is the concept of cycles and how they work. Combine that with note numbers rather than names and it’s actually a pretty interesting way to compose melodies and jam out song ideas.
There is support for randomization like Euclidean patterns so you can really play around and tinker with it until you stumble on something you like.
Strudel is neat! A friend sent me a video recently of someone using it to make breakbeat music, which got me looking into it. I've known about live coding music for a long time but never actually investigated how it works.
I find the fluent API plus "display-oriented REPL" a very cool way to do things. The docs need a lot of work, though… The only API reference is in a sidebar of the REPL (i.e. not in the docs site), and discoverability depends entirely on guessing the name of the function. There's multiple ways to do things and all of them are explained with reference to each other, so it's very difficult to track down an authoritative, explicit overview of how something works.
Even if you’re not interested in making your own music with Strudel, this site is worth a visit for the showcase. A lot of folks are making a lot of interesting music with it!
This is so cool. Years ago I was at a maker conference and there was a tent hosting an Algorave (https://algorave.com/) which introduced me to the whole scene of live coded music. Really niche subject but very interesting.
tangential: just two days ago, Strudel has moved from Github to Codeberg (sparse discussion on their Discord homebase as to the motivations).
For anyone having done a migration from Github to another platform (Codeberg, gitlab.org, selfhosted etc.): was it worth it? What went well, what went wrong?
Speaking as a member of the Strudel project in the OP, it went really well, everything migrated across (issues, PRs etc) pretty much seamlessly. We have to self-host the ci actions, but as a bonus now they run much faster.
It really is a no-brainer for any free/open source project to be hosted on a free/open source platform. It's pretty nuts that so many stay on Microsoft github who are busy IP-stripping everything via AI, even without considering all the other terrible stuff MS get up to that it's best not to support or be associated with.
Quite a few live coding platforms are making the move to codeberg too. It's a bit trickier for desktop apps like supercollider who depend on cross-platform ci builds though.
I moved most of my projects from Github to Codeberg, and as anticipated got much less interactions, contributions, visibility etc. on them. Also Codeberg had quite some big issues with their underlying infrastructure during the last 2 years, but they seem to have done a lot of work to make it more reliable.
Now, I publish projects on Github only if they are worth sharing/being discovered, but most of my code is done on private (and sometimes public) Codeberg repositories.
It was at the beginning of the Copilot era where Github started to vacuum every line of code on their platform.
Also, I liked the idea of Codeberg and not being dependent of big corps. It was a technological regression (even if Github as a lot of issues) but it felt good. Big projects with a few hundreds stars stayed on Github, for community.
Just as they were getting really popular on Twitter and X - it's such a shame. I like the idea of these alternative platforms, I'm saddened that this will likely make any kind of grassroots developer efforts DOA
Don't see why moving from the closed source Microsoft Github to free/open source codeberg would turn away any grassroots developer. It's like two extra characters to type and live coders can usually type quite fast.
I'm currently signed up to ten or so different source code web services hosting FLOSS (e.g. KDE, FreeDesktop, Debian each have their own instances).
Attrition has held me back to participate in discussions or reporting issues. For that you need an account, and some source code web services make 2FA mandatory, and often I need to reauthenticate and go through that flow. If I'm exhausted, my brain makes the decision that it's not worth the effort.
A couple of other other reasons come to mind as well: setting up your account properly (adding SSH public key), setting up yet another entry in one's own
password manager, acknowledging that their will be additional mails going to my mailbox (transactional e-mails, maybe important informational e-mails such as data leaks, TOS changes, etc.).
Fast growth of the project isn't our goal and definitely doesn't override our collective ethics. If someone will only send PRs via a proprietary Microsoft platform then maybe this isn't the project for them.
My experience is that the best LLMs can produce syntactically valid strudel but don't understand the actual semantics of the "mini notation" language, unfortunately.
Cool, this feels like OpenSCAD, but for music. I'm very visually oriented, so I don't think this would work for me (neither does OpenSCAD), but I really like the concept.
Take a look at the visual feedback section any try some of the examples, they may help. I play guitar a bit and came to realize that my understanding of chords and scales and some of music theory was very pattern based so I’m interested to see if that will translate to trying this intersection of music and programming with those visual aids.
That being said I think something needs to be highlighted. For some reason, it sees itself as "low barrier to entry" relative to traditional ways of making music (ie partiture or an actual music instrument). How is possessing a phone, ability to read English and knowing how to program lower barrier to entry than picking an instrument like a piano and playing some music?
Clearly, Strudel assumes some knowledge of basic music theory (melody, rhythm and harmony) so having that, what is it exactly that makes Strudel lower barrier to entry.
Is Strudel assuming that learning to program is inherently easier than learning to play any instrument?
It would be nice if whatever assumptions it has could be made explicit as it's not the first time that I see [insert here software tool to make music] claim that it's a lower barrier to entry to make music without saying why.
Obviously, this being HN people will likely prefer software and algorithmic approaches to making music in your room as opposed to the traditional and more social way of learning with a teacher and a cohort of students.
Really, you don't need to know how to program to do Strudel. Like, yeah, it's a programming language - but it's not like you need to know the fundamentals of software engineering to write something with Strudel. You just start typing and keep what sounds good. There is no difference between figuring out the melody and harmony and all the other parts of the song - you just type and edit until it sounds good. You get immediate feedback since it's constantly looping and trivial to work in your changes.
Compare that to piano: sure, you can walk up to a piano and plunk out a melody easy enough - but once you start venturing towards harmony and song the skill required ramps up exponentially. Suddenly you need to have both hands doing independent things, know where to place your fingers so that you can comfortably play the notes for the current beat and future beats (there's a ton of technique here and it's not the most intuitive thing ever - entire books are written to drill it), the list goes on.
I've worked with groups of 8 year olds and got them performing music together in less than an hour with tidal (strudel's older sibling). It's not easier than learning to play a drum but it's not really harder either.
It's nothing like trying to teach kids an imperative programming language, it's not really in the same category as general purpose programming. It's designed for music making and you can make complex rhythms very quickly out of very simple parts.
Love this for you, but I think we have to be more careful. People want to make music with instruments, orthodox or otherwise. The optics are crazy here.
I released this remix with Strudel last year: https://strudel.cc/?mTeJt_ICoPrw
https://open.spotify.com/track/39K9sFCNCv7H5kyQAfcePr?si=8a1...
A colleague recently introduced this to me via https://x.com/bantg/status/1933967436459503662 and I was instantly blown away.
After diving in and reading through the docs (the workshop intro is a great way to get started) I can say I am really impressed.
What I like about strudel is the concept of cycles and how they work. Combine that with note numbers rather than names and it’s actually a pretty interesting way to compose melodies and jam out song ideas.
There is support for randomization like Euclidean patterns so you can really play around and tinker with it until you stumble on something you like.
Switch Angel has a really nice video showing their workflow here: https://youtu.be/sefJz9biLCY?si=QRb6g8qZ48qlfLtT
The https://strudel.cc/learn/visual-feedback/ section is a great demo.
Thanks, I just sank 2 hours into the demos in general.
Being able to edit while the example continues to loop is so engaging. Not sure if thats the standard for these things but what a fun way to learn.
Strudel is neat! A friend sent me a video recently of someone using it to make breakbeat music, which got me looking into it. I've known about live coding music for a long time but never actually investigated how it works.
I find the fluent API plus "display-oriented REPL" a very cool way to do things. The docs need a lot of work, though… The only API reference is in a sidebar of the REPL (i.e. not in the docs site), and discoverability depends entirely on guessing the name of the function. There's multiple ways to do things and all of them are explained with reference to each other, so it's very difficult to track down an authoritative, explicit overview of how something works.
[dead]
The editor is really cool, how it highlights what parts of the file are active as the song plays.
Currently using the Superdough and transpiler parts of Strudel as part of the game engine I'm making. God I wish it was better documented though.
Great! Be sure to respect the licence though.
Even if you’re not interested in making your own music with Strudel, this site is worth a visit for the showcase. A lot of folks are making a lot of interesting music with it!
This is so cool. Years ago I was at a maker conference and there was a tent hosting an Algorave (https://algorave.com/) which introduced me to the whole scene of live coded music. Really niche subject but very interesting.
Emfcamp?
Ha, yeah that's the one. Really need to find time to go to another one. Some amazing people showing off amazing things
Ah nice I was organising that tent! It would be good to do it again next year
This takes me back - I was playing around with Tidal and Supercollider over a decade ago at uni. I was terrible but it was great fun.
Note: if you’re on iOS and want to listen to the example, disable silent mode. At least that’s what I had to do to hear the sound.
Thanks for the tip
tangential: just two days ago, Strudel has moved from Github to Codeberg (sparse discussion on their Discord homebase as to the motivations).
For anyone having done a migration from Github to another platform (Codeberg, gitlab.org, selfhosted etc.): was it worth it? What went well, what went wrong?
Speaking as a member of the Strudel project in the OP, it went really well, everything migrated across (issues, PRs etc) pretty much seamlessly. We have to self-host the ci actions, but as a bonus now they run much faster.
It really is a no-brainer for any free/open source project to be hosted on a free/open source platform. It's pretty nuts that so many stay on Microsoft github who are busy IP-stripping everything via AI, even without considering all the other terrible stuff MS get up to that it's best not to support or be associated with.
Quite a few live coding platforms are making the move to codeberg too. It's a bit trickier for desktop apps like supercollider who depend on cross-platform ci builds though.
I moved most of my projects from Github to Codeberg, and as anticipated got much less interactions, contributions, visibility etc. on them. Also Codeberg had quite some big issues with their underlying infrastructure during the last 2 years, but they seem to have done a lot of work to make it more reliable.
Now, I publish projects on Github only if they are worth sharing/being discovered, but most of my code is done on private (and sometimes public) Codeberg repositories.
Do you mind sharing why you left github? Were you unhappy or/and did Codeberg offer something that no other vendor had so far?
It was at the beginning of the Copilot era where Github started to vacuum every line of code on their platform.
Also, I liked the idea of Codeberg and not being dependent of big corps. It was a technological regression (even if Github as a lot of issues) but it felt good. Big projects with a few hundreds stars stayed on Github, for community.
Just as they were getting really popular on Twitter and X - it's such a shame. I like the idea of these alternative platforms, I'm saddened that this will likely make any kind of grassroots developer efforts DOA
Don't see why moving from the closed source Microsoft Github to free/open source codeberg would turn away any grassroots developer. It's like two extra characters to type and live coders can usually type quite fast.
the move was partly in response to that unwanted popularity
That's going to make it a bit more annoying for me to contribute further… Oh well.
In what way? It only involves typing a different url in the git clone or when browsing issues or whatever.
I'm currently signed up to ten or so different source code web services hosting FLOSS (e.g. KDE, FreeDesktop, Debian each have their own instances).
Attrition has held me back to participate in discussions or reporting issues. For that you need an account, and some source code web services make 2FA mandatory, and often I need to reauthenticate and go through that flow. If I'm exhausted, my brain makes the decision that it's not worth the effort.
A couple of other other reasons come to mind as well: setting up your account properly (adding SSH public key), setting up yet another entry in one's own password manager, acknowledging that their will be additional mails going to my mailbox (transactional e-mails, maybe important informational e-mails such as data leaks, TOS changes, etc.).
Fair enough. I'm not involved in projects at that scale, and projects adjacent to me all seem to be moving to codeberg.
keep in mind that this particular subdiscussion is from the perspective of _outsiders_ interested in _contributing_ to your project.
Fast growth of the project isn't our goal and definitely doesn't override our collective ethics. If someone will only send PRs via a proprietary Microsoft platform then maybe this isn't the project for them.
I love this site! Great tool to make music and save music ideas and it’s low threshold fun way for people to get into code as well.
Am I the only one who clicked through because they were looking for tips on how to make apple strudel?
no
Editor is the coolest part about this. Makes the display of work easy and fun
I wish there was a LLM you could sing and beatbox too- that would translate that into strudel code.
Current LLMs are multimodal -- you could record yourself singing + beatboxing, upload it to an LLM and ask it to translate it to Strudel code.
My best guess is that it won't work well, but we'll never know until someone tries it.
My experience is that the best LLMs can produce syntactically valid strudel but don't understand the actual semantics of the "mini notation" language, unfortunately.
The underrated aspect with Strudel is that you don't have to install anything.
Neat, this is the first project I've seen in the wild that uses astro.
This is fantastic!
someone watches theprimagen
was thinking the same thing lol
Cool, this feels like OpenSCAD, but for music. I'm very visually oriented, so I don't think this would work for me (neither does OpenSCAD), but I really like the concept.
Take a look at the visual feedback section any try some of the examples, they may help. I play guitar a bit and came to realize that my understanding of chords and scales and some of music theory was very pattern based so I’m interested to see if that will translate to trying this intersection of music and programming with those visual aids.
https://strudel.cc/learn/visual-feedback/
"getting started with strudel"
apfel.
enjoy.
It is a very interesting way of making music.
That being said I think something needs to be highlighted. For some reason, it sees itself as "low barrier to entry" relative to traditional ways of making music (ie partiture or an actual music instrument). How is possessing a phone, ability to read English and knowing how to program lower barrier to entry than picking an instrument like a piano and playing some music?
Clearly, Strudel assumes some knowledge of basic music theory (melody, rhythm and harmony) so having that, what is it exactly that makes Strudel lower barrier to entry.
Is Strudel assuming that learning to program is inherently easier than learning to play any instrument?
It would be nice if whatever assumptions it has could be made explicit as it's not the first time that I see [insert here software tool to make music] claim that it's a lower barrier to entry to make music without saying why.
Obviously, this being HN people will likely prefer software and algorithmic approaches to making music in your room as opposed to the traditional and more social way of learning with a teacher and a cohort of students.
Really, you don't need to know how to program to do Strudel. Like, yeah, it's a programming language - but it's not like you need to know the fundamentals of software engineering to write something with Strudel. You just start typing and keep what sounds good. There is no difference between figuring out the melody and harmony and all the other parts of the song - you just type and edit until it sounds good. You get immediate feedback since it's constantly looping and trivial to work in your changes.
Compare that to piano: sure, you can walk up to a piano and plunk out a melody easy enough - but once you start venturing towards harmony and song the skill required ramps up exponentially. Suddenly you need to have both hands doing independent things, know where to place your fingers so that you can comfortably play the notes for the current beat and future beats (there's a ton of technique here and it's not the most intuitive thing ever - entire books are written to drill it), the list goes on.
I've worked with groups of 8 year olds and got them performing music together in less than an hour with tidal (strudel's older sibling). It's not easier than learning to play a drum but it's not really harder either.
It's nothing like trying to teach kids an imperative programming language, it's not really in the same category as general purpose programming. It's designed for music making and you can make complex rhythms very quickly out of very simple parts.
The lowest barrier to entry in music is something like GarageBand or FL Studio, not picking a piano.
Lowest barrier for who? Younger folks sure, older people not sure. Unless we assume we are all tech literate
[dead]
[dead]
Love this for you, but I think we have to be more careful. People want to make music with instruments, orthodox or otherwise. The optics are crazy here.
what does this even mean?
A bot I expect
Can you elaborate? Your comment is vague enough to both pique my interest and also to require a ton of assumptions to mean anything.
Your mind hasn't adjusted yet to this common type of X vague-posting
Yeah, guess I need to take a refresher in mind reading just so I can keep up.
Probably some derivation of "music is art, not code", "music is not math", "the human touch", ...
That's what I assumed, but since assumption is the mother of all fuck-ups...