/strudel

Experimental port of tidalcycles to Javascript

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

strudel

Strudel test status

An experiment in making a Tidal using web technologies. This is unstable software, please 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
  • tonal: tonal functions
  • xen: microtonal / xenharmonic functions

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.

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.