/strudel

Experimental port of tidalcycles to Javascript

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

strudel

Strudel test status

An experiment in making a Tidal using web technologies. This software is slowly stabilising, but please continue to tread carefully.

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.