TidalCycles allows you to make patterns with language, whether live coding music at algoraves or composing in the studio.
It includes language for describing flexible (e.g. polyphonic, polyrhythmic, generative) sequences. It also has an extensive library of patterning functions, for transforming and combining them.
Tidal is highly composable in that pattern transformations can be easily combined together, allowing you to quickly create complex patterns from simple ingredients.
Tidal does not make sound itself, but is designed for use with the SuperDirt synth, and can control other synths over Open Sound Control or MIDI. Whether you're using SuperDirt or a synth, every filter and effect can be patterned and manipulated independently with Tidal patterns.
Tidal is embedded in the Haskell language, although you don't have to learn Haskell to learn Tidal - most tidal coders have little or no experience in software engineering.
This website is a wiki, which means that as well as enjoying these resources, you can improve and add to them.
This is a work-in-progress, but will soon be the go-to resource for documentation, links and community projects around TidalCycles live coding environment, for the Tidal version 1.0.0 release.
- Installation (0.9.x) - for the currently published version of Tidal
- Installation - for upcoming version 1.0.0
- Installation troubleshooting
- The Tidal Tutorial
- Reference - all the reference material, incomplete but getting there!
- Functions - the big list of functions (and other keywords)
- Tidal workshop worksheet - for beginners+
- Kindohm video tutorials
If you'd enjoy TidalCycles, please consider contributing coffee to alex! It helps speed up both development and documentation of tidal.
TidalCycles version 1.0.0+
Not yet released, but early-adopters are encouraged!
- Tidal 1.0.0 project (on github)
- Changes in Tidal 1.0.0
- Interaction - starting and stopping patterns, etc
- Controller Input - OSC and MIDI
- Combining pattern structure
- Tempo patterns
- Contributing tests