Keyboard input: click the visual output, then press keys.
Start small. Play it, change it, make it yours.
Your current draft is saved to your library before starting something new.
Music is Strudel. Press Play, change a pattern, then Update or ⌘/Ctrl Enter in its editor. Use Update music block in the project menu or ⌘/Ctrl Shift Enter to run the blank-line-separated block at the cursor. Give patterns names such as drums: to replace them on the next block run; anonymous $: labels are not supported in block mode. Add .pianoroll(), .scope() or .spiral() to see a music drawing below the code.
Visuals is GLSL. Edit Image and Update to change the picture. Use ctKick for a pulse from the kick drum. Buffer passes and Channels are optional. Channels can use image URLs, music audio, keyboard input or buffers. Click the output to use keyboard input; image URLs remain external links in saved projects.
Open Chat to ask for music, visuals, or both. A proposal changes nothing until you Apply it. Undo restores the previous source.
Standard Strudel drum banks, piano, instruments and soundfonts load online as you play. Try s("bd*4").bank("tr909") or note("c4 e4 g4").piano(). Sound credits
Add sample in the project menu imports a WAV. Give it a name, then play it with s("name").
Drafts save on this device. Download a project to keep a portable copy; New starting points open stopped. Examples start playing when your browser allows it.
This workspace includes Strudel under AGPL-3.0-or-later. Source for this build · License · Notices
Mono/stereo WAV, up to 30 seconds and 4 MiB. Samples are saved on this device and included in project downloads.