TidalCycles


TidalCycles is a live coding environment designed for musical improvisation and composition. In particular, it is a domain-specific language embedded in Haskell, focused on the generation and manipulation of audible or visual patterns. It was originally designed for heavily percussive, polyrhythmic grid-based music, but now uses a flexible, functional reactive representation for patterns, using rational time. Tidal may therefore be applied to a wide range of musical styles, although its cyclic approach to time means that it affords use in repetitive styles such as Algorave.
Tidal does not produce sound itself, but via the SuperCollider sound environment through the SuperDirt framework, or via MIDI or Open Sound Control.