TikTok led me to discover live coding music. Someone was demoing Strudel, typing JavaScript-like code and having it instantly turn into music. I had to try it.
Strudel is a browser-based live coding platform for creating dynamic music. It's free, open-source, and claims to be beginner-friendly. It's essentially a JavaScript version of TidalCycles, which is a popular live coding language written in Haskell.
Within 15 minutes, I had recreated Canon in D. Not bad for someone who's never live-coded music before.
I've used FL Studio before, mainly for chopping audio clips. Never got deep into MIDI instruments or beat making. DAWs always felt overwhelming. Too many knobs, panels, and options. Analysis paralysis hits before you make any music.
Strudel is different. It's just a code editor. As a developer, that's not scary. It's familiar. No confusing interface. No hunting through menus. Just code that makes sounds.
The syntax feels like JavaScript with musical superpowers:
javascript
That plays the C major scale on a piano. Simple. Readable. No complex GUI needed.
Coming from traditional programming, the learning curve was gentle. The patterns make sense. Functions chain together. Variables work as expected. It's JavaScript, but for music.
An interesting feature is the live updates. You write code, click "update" while music is playing, and hear changes instantly. No stopping, compiling, or restarting. The music morphs in real-time as you code.
This changes how you compose. In a DAW, you lay down tracks sequentially. Record this, then that, then mix. With live coding, everything happens simultaneously. You're conducting and composing at the same time.
Live coding music and writing code share interesting parallels. Both involve patterns, repetition, and abstraction.
In programming, you extract common functionality into functions. In Strudel, you extract musical phrases into patterns. Both use loops and iteration. Both compose complex behavior from simple building blocks.
Musical scales are like type systems. They constrain what notes work together, similar to how types constrain what operations are valid. Breaking the rules in both can create interesting effects or horrible mistakes.
Debugging broken syntax feels familiar too. A misplaced bracket breaks your beat the same way it breaks your function. The error messages in Strudel are actually helpful, unlike some programming languages I could mention.
The mental model transfers well. If you can think in loops, functions, and data flow, you can think in musical patterns.
Strudel excels at basic instruments and simple compositions. Piano, violin, bass, drums all sound good. The built-in samples are decent quality. You can create recognizable melodies quickly.
For complex songs with intricate arrangements, I'm not sure how well it scales. The code-based approach works great for patterns and loops. But orchestrating dozens of instruments with precise timing might get unwieldy.
This isn't replacing DAWs for serious music production. It's more like a musical sketchpad. Great for ideas, experiments, and learning. Not so much for polished albums.
The browser performance surprised me. No lag, no crashes, smooth playback. The fact that this entire music production environment runs in a web browser is genuinely impressive. The underlying tech must be solid.
The "beginner-friendly" claim isn't just some marketing fluff. If you can read basic code, you can make music with Strudel. The syntax is intuitive. The documentation exists. The examples are clear.
I got Canon in D working in 15 minutes with some help from Claude Sonnet and Context7 MCP for syntax fixes. That's faster than I've ever been productive in any DAW.
The learning curve is much gentler than traditional music software. No complex routing, effects chains, or mixer understanding required. Just patterns and sounds.
Being free and open-source matters. No subscription fees. No vendor lock-in. No artificial limitations to push paid tiers. You can use it, modify it, or contribute back.
The sustainability question is real though. Open-source projects need maintainers and funding. Strudel seems active now, but will it still exist in five years? That's always the risk with free tools.
For now, it's accessible to anyone with a browser. That democratizes music creation in a way expensive DAWs can't match.
Live coding has a reputation for academic, experimental music. Harsh electronic sounds. Abstract compositions. While Strudel can do that, it's not limited to it.
Classical pieces work well. Pop melodies translate fine. The constraint is your imagination, not the tool. You're not stuck making weird algorithmic music unless you want to.
The real constraint is complexity. Simple is better. Complex arrangements become complex code. At some point, traditional composition tools might be more efficient.
This was a fun experiment that turned into a genuine discovery. Strudel fills a unique niche between simple music apps and professional DAWs. It's approachable but powerful. Familiar but creative.
Will I use it regularly? Probably not for serious music production. But for musical sketching, learning, and pure fun? Absolutely.
The intersection of code and music creates interesting possibilities. Strudel makes that intersection accessible. No Haskell knowledge required. No complex setup. Just open a browser and start making music.
Sometimes the best tools are the ones that get out of your way. Strudel does that. It's just you, code, and sound.
Here's my Canon in D recreation for anyone who wants to try it:
javascript
Not bad for 15 minutes of work and zero prior live coding experience.