Strudel Packages
The strudel repo is organized as a monorepo, containing multiple npm packages. The purpose of the multiple packages is to
- organize the codebase into more modular, encapsulated pieces
- be able to opt out of certain functionalities
- keep the dependencies of the core packages small
Overview
See the latest published packages on npm. Here is an overview of all the packages:
Essential Packages
These package are the most essential. You might want to use all of those if youβre using strudel in your project:
- core: tidal pattern engine with core primitives
- mini: mini notation parser + core bindings
- transpiler: user code transpiler. syntax sugar + highlighting
Language Extensions
These packages extend the pattern language by specific functions
Outputs
These packages provide bindings for different ways to output strudel patterns:
- webaudio: the default webaudio output
- osc: bindings to communicate via OSC
- midi: webmidi bindings
- csound: csound bindings
- soundfonts: Soundfont support
- serial: webserial bindings
Others
No Longer Maintained
- eval: old code transpiler
- tone: bindings for Tone.js instruments and effects
- webdirt: webdirt bindings, replaced by webaudio package
Tools
- pnpm workspaces
- Publishing packages is done with lerna.