TidalCycles

TidalCycles
Developer(s)Alex McLean, others
Initial release2009 (2009)
Stable release
1.10.0 / 8 June 2025 (2025-06-08)
Repositoryhttps://codeberg.org/uzu/tidal/
Written inHaskell
Operating systemLinux, macOS, Windows
TypeLive coding environment, algorave
LicenseGPLv3
Websitetidalcycles.org

TidalCycles (also known as Tidal) is a live coding environment which is designed for improvising and composing music. Technically, it is a domain-specific language embedded in the functional programming language Haskell, and is focused on the generating and manipulating audiovisual patterns. It was originally designed for heavily percussive and polyrhythmic grid-based music, but it now uses a flexible and functional reactive representation for patterns, by using rational time. Therefore, Tidal may 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.