strudel
strudel copied to clipboard
Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript
strudel
An experiment in making a Tidal using web technologies. This software is slowly stabilising, but please continue to tread carefully.
- Try it here: https://strudel.tidalcycles.org/
- Tutorial: https://strudel.tidalcycles.org/tutorial/
- Technical Blog Post: https://loophole-letters.vercel.app/strudel
Running Locally
After cloning the project, you can run the REPL locally:
npm run setup
npm run repl
Using Strudel In Your Project
There are multiple npm packages you can use to use strudel, or only parts of it, in your project:
-
core
: tidal pattern engine -
mini
: mini notation parser + core binding -
eval
: user code evaluator. syntax sugar + highlighting -
tone
: bindings for Tone.js instruments and effects -
osc
: bindings to communicate via OSC -
midi
: webmidi bindings -
serial
: webserial bindings -
tonal
: tonal functions -
xen
: microtonal / xenharmonic functions - ... and there are more
Click on the package names to find out more about each one.
Contributing
There are many ways to contribute to this project! See contribution guide.
Made with contrib.rocks.
Community
There is a #strudel channel on the TidalCycles discord: https://discord.com/invite/HGEdXmRkzT
You can also ask questions and find related discussions on the tidal club forum: https://club.tidalcycles.org/
The discord and forum is shared with the haskell (tidal) and python (vortex) siblings of this project.