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:
Umbrella Packages
These packages give you a batteries-included point of getting started, and most likely the thing you’d want to use in your project:
To find out more about these two, read Using Strudel in Your Project
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
- embed: embeddable REPL web component
No Longer Maintained
- react: react hooks and components for strudel
- eval: old code transpiler
- tone: bindings for Tone.js instruments and effects
- webdirt: webdirt bindings, replaced by webaudio package
- any
@strudel.cycles/*
packages have been renamed to@strudel/*
since version 0.10.0.