Strudel
Strudel is a way to make music by typing. A pattern like "bd ~ bd ~" is a drum beat: a kick, a rest, a kick, a rest, squeezed into one bar that loops. Strudel comes from TidalCycles, the live-coding language musicians use on stage, so the music keeps playing while the code changes. It opens on a short starter with a drum beat, a bass line and a melody, one line each. Press Play, then change a letter or a number and press Play again to hear the difference. Free, in the browser, no account needed to try it.
Using this with a class? Make a free class and add your students yourself: each gets a username and password, with no email or Google account needed. Or give them one join code. Using Google Classroom? Post the link there; with a free class, the link also puts each student in your class, so you see their work. mytekDev is also available from the Google Workspace Marketplace, so your school's Google admin can install it for everyone.A first lesson: Everyone presses Play on the starter, then changes exactly one thing in one line. A partner listens with eyes closed, says what changed, and then finds the line that did it.
Set up a free class Share to Google ClassroomWhat a student actually does
They press Play and hear the starter loop: a drum machine kick, snare and hi-hats, a low synth note that changes every bar, and a short melody on top. Then they start changing it. They turn hh*8 into hh*16 and the hi-hats double. They move a ~ in the kick pattern and the groove shifts. They swap a note name in the melody, change the 0.5 in setcps to make it faster, or raise the 500 in lpf so the bass gets brighter. Each time they press Play again, or Ctrl+Enter, and the music updates without stopping.
From there it is the real Strudel pattern language. They can stack more lines, write chords with commas, put brackets inside a pattern to split one step into smaller ones, play notes from a scale by number, slow a part down or speed it up, reverse it, add reverb and delay, or let chance drop some notes. The Examples menu at the top has ten short patterns, from a first beat to chords, scales and randomness, each one idea at a time. With a free account the pattern saves as a project, and the code is plain text that can be copied anywhere Strudel runs.
One number changed. hh*16 fits sixteen hi-hats into the same bar that held eight, so each one now lasts a sixteenth of the bar and the hats sound twice as fast. The kick and snare land exactly where they did, because the bar is always one cycle long and the cycle does not stretch.
What they are learning while they play
Nothing here is presented as a lesson. This is what the activity is made of.
| What the student does | What it is |
|---|---|
| Changes hh*8 to hh*16 | Subdivision. A bar always lasts one cycle. Asking for more hits does not make the bar longer, it cuts it into smaller pieces, so each hit gets a smaller share. |
| Works out that each hi-hat is 1/8 of the bar | Fractions of time. Eight equal steps in one bar means each is one eighth. Rhythm is fractions you can hear, and Strudel stores every note's start as a fraction. |
| Moves a ~ in the kick pattern | Steps and rests. Every word in the quotes is a step, and ~ is a step with no sound. Silence is part of the rhythm, not the absence of one. |
| Hears the bass change every bar | Cycles and alternation. Angle brackets play one item per cycle, so four notes take four bars before the pattern comes back around. |
| Deletes the melody line, then puts it back | Layering. stack() plays its parts at the same time, and a comma inside the quotes does the same within one line. Music is built from parts that run in parallel. |
| Changes setcps(0.5) to setcps(0.6) | Tempo. cps is cycles per second. At 0.5 one bar lasts two seconds, which with four beats in a bar is 120 beats per minute. |
| Raises lpf(500) to lpf(2000) | Filters and timbre. A low-pass filter cuts the high frequencies above a number. Raising the number lets more through, and the same note sounds brighter. |
| Changes e4 to e5 in the melody | Pitch and octaves. A note name is a letter and an octave number. Same letter, next number up, is the same note an octave higher. |
How to tell whether it landed
Ask, and let them show you. A student who has understood it can answer these without help.
- You changed hh*8 to hh*16. Why did the loop not get any longer?
- With hh*8, what fraction of the bar is each hi-hat? What is it with hh*16?
- The bass line has four notes but plays one per bar. How many seconds until it starts over?
- Where would you put a ~ to take out the second kick, and what does the beat sound like then?
- If setcps(0.5) becomes setcps(1), what happens to the drums, the bass and the melody?
Use it in your subject
Not a technology class? Then the app is how students show what they learned in your unit. More projects for every subject.
Music
Build a beat with kick on 1 and 3 and snare on 2 and 4, then change one line at a time and name what changed: rhythm, pitch, tempo or tone.
Math
Rhythm as fractions. Write out where every hit lands in one bar for hh*8 and hh*16, then predict where "bd ~ bd bd" puts its kicks before playing it.
Computer science
Patterns as data and functions that change them. Read s(...).bank(...) left to right as a chain of steps, then add .fast(2) or .rev() and explain what each one did to the list of events.
Practical notes
- AgesAges 10 through high school. Younger students change numbers and letters in the starter and the Examples; older ones write their own patterns, chords and layers from scratch.
- TimeA minute to the first sound. A short piece of their own, with drums, bass and a melody, takes thirty to forty-five minutes.
- EquipmentA computer or Chromebook with a keyboard and a modern browser. Headphones in a classroom, so thirty loops do not play over each other. The sounds download from GitHub the first time they play, so the school network has to allow raw.githubusercontent.com. Nothing to install.
- CostFree. The app has no paid tier.
- PrepNone. Open the page and go. Reading this page first takes about three minutes. If the drums are silent, check that the network allows raw.githubusercontent.com.
- In a groupEveryone starts from the same pattern and changes one line, then swaps headphones with a partner to guess what changed.
For co-ops, microschools, and classrooms
Give everyone the same starter and one rule: change one line at a time, and listen after every change. The code is short enough to read out loud, so a student can point at the exact word that made the beat swing or the bass drop. With headphones a whole room can work at once, and playing pieces back for each other at the end turns into a small concert.
- A starter with drums, bass and a melody, each on its own commented line.
- Play and Stop buttons, plus Ctrl+Enter and Ctrl+. on the keyboard.
- An Examples menu with ten short patterns, one idea each.
- No install, no per-seat license. Student work is private by default.
Common questions
Is this the original Strudel?
It is Strudel, the open-source live-coding music environment made by the TidalCycles community, used under the GNU Affero General Public License v3 (AGPL-3.0). This is our hosted copy of its published editor, run unmodified, not the official site at strudel.cc, and its complete source is linked at the bottom of this page. The pattern language and the sounds are the same. Our build adds Play and Stop buttons, an Examples menu with ten beginner patterns, a starter pattern, and saving to a free account with a picture of the code for the project list. The extra panels on strudel.cc, such as the sound browser, the reference and the settings, are not part of what we host, so the tutorials on strudel.cc are the place to learn more.
Do I need to download anything?
No. It runs in the browser on Chromebooks, Windows, Mac and Linux. There is nothing to install. The drum and instrument sounds download from GitHub the first time they play, so the network has to allow that.
Is it only for students?
No. It is Strudel for anyone. Much of this page is written for teachers and parents because many of the people who use it are students.
Is Strudel free?
Yes. It runs in your browser and there is no paid tier. A free account adds saving, but nothing on this page is behind a paywall.
Do I need an account to try it?
No. The demo on this page is the editor with the starter pattern. Make a free account and the pattern you changed comes with you as your first project.
Why is there no sound?
Browsers only allow sound after a click on the page, so click the Play button rather than starting with the keyboard. The drum sounds download the first time they play, so the first bar can be quiet. If the drums never play but the synths do, the network is probably blocking raw.githubusercontent.com.
Will a classroom full of this be loud?
Yes, without headphones. Every student's pattern loops until they press Stop. Headphones, or a rule that only one pattern plays out loud at a time, keep it workable.
Do they need to know how to code first?
No. The first changes are a letter or a number inside quotes. The code is real JavaScript, so students who keep going pick up function calls, strings and chaining along the way.
What ages is it for?
Ages 10 through high school. Changing the starter and the examples works for younger students; writing patterns from scratch suits older ones.
Is a student's work public?
No. Saved patterns are private by default. A student can choose to share one with a link.
What subject can I log this as?
Most families log it as music or computer science. Building rhythms, bass lines and melodies is music, and writing and debugging the code is programming. The table above lists specifically what is covered, so you can pick the label your records need and point at the evidence.
Still have a question? Ask us, and a person will write back.
Where to go next
Start with Strudel
Trying it costs nothing and takes about five minutes. An account is what makes the work last.
Strudel is one of the making apps on the platform. It is a place to make things, not a course, and it is not a substitute for a teacher: it is at its best when an adult asks the questions above and takes the answers seriously.
Strudel is by the Strudel contributors of the TidalCycles community, used under the GNU Affero General Public License v3. Source.
Page last reviewed October 2026.
Google, Google Classroom and Chromebook are trademarks of Google LLC.