Live Code the Groove, Live Prompt the Song: Strudel and More

An introduction to Strudel, a language for live coding music in your browser. I share my experiences learning and experimenting with Strudel, along with explorations of modern AI tools that generate music from text prompts in minutes

Strudel is a

Strudel

From the original paper by Alex McLean and Felix Roos, uploaded on Zenodo (April 2023): Strudel: a library in any JavaScript codebase Main, reference user interfaces is the Strudel REPL (Read, Evaluate, Print/Play, Loop) (cf. Read-eval-print loop Wikipedia page)

The control flow of the REPL follows three basic steps: ... ... ...

Originally at [Github](https://github.com/tidalcycles/strudel) with the first commit on January 2022, but moved to [Codeberg](https://codeberg.org/uzu/strudel) on June 2025.

From strudel workshop: Strudel is “an official port of the Tidal Cycles pattern language to JavaScript.”

You can do “live code music” (which sounds like an impossible term to believe to exist)

As Strudel says I don’t need to know JavaScript or Tidal Cycles to make music with Strudel, I tried to learn on my own a little bit for fun.

From my own learning:

Try it yourself!

Here’s a simple example you can play with. Click the play button (▶) to start, and try modifying the code:

hello

You can modify the code above and press Ctrl+Enter (or Cmd+Enter on Mac) to hear your changes!

Try changing "casio" to other sounds like "bd" (bass drum), "hh" (hi-hat), or "piano".

Using ChatGPT-5 Pro:

Prompt 1.

Answer 1-1.

Answer 1-2.

Answer 1-3.

Prompt 2.

Answer 2-1.

Answer 2-2.

Answer 2-3.


Tidal Cycle (probably an word play of tidal cycle)

From

Cycles: “Tidal Cycles is not using BPM (beats per minute) but a specific measurement called CPS: cycles per second. For Tidal, time is cyclical and not linear. It means that when a cycle ends, a new one will follow. Time is counted in smaller and smaller decrements of cycles per second (e.g. 1/3 of a cycle).”

Patterns: “You make music with Tidal by creating patterns.”