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!
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.
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.
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.
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.
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.
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.
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.
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.
https://open.spotify.com/track/39K9sFCNCv7H5kyQAfcePr?si=8a1...