Developer(s) | Alex McLean and others |
---|---|
Initial release | 2009 |
Stable release | 1.7.9
/ 23 December 2021 |
Repository | https://github.com/tidalcycles/Tidal/ |
Written in | Haskell |
Operating system | Linux, macOS, Windows |
Type | Live coding environment, Algorave |
License | GPLv3 |
Website | tidalcycles |
TidalCycles (also known as "Tidal") 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.[1][2][3] It was originally designed for heavily percussive, polyrhythmic grid-based music, but now uses a flexible, functional reactive representation for patterns, using rational time.[4] 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.[5]
TidalCycles was created by Alex McLean who also coined the term Algorave.[6]
TidalCycles is a domain-specific language embedded in Haskell, focused on the generation and manipulation of audible or visual patterns.[7] Tidal's representation of rhythm is based on metrical cycles,[8] inspired by Indian classical music,[9] supporting polyrhythmic and polymetric structures using a flexible, functional reactive representation for patterns, and rational time. Tidal does not produce sound itself, but via the SuperCollider sound environment through the SuperDirt framework, or via MIDI or Open Sound Control.
Tidal is also used widely in academic research, including as a representation in music AI,[10][11] as a language in network music,[12] and in electronic literature.[13]
Tidal is widely used at Algorave algorithmic dance music events,[14][15] as well as being used on high profile music releases.[16][17][18] It has been featured on BBC Radio 3's New Music Show.[19]