TidalCycles
TidalCycles (also known as "Tidal") is a live coding environment which is designed for musical improvisation and composition. In particular, it is a domain-specific language embedded in Haskell, and is focused on the generation and manipulation of 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. Background TidalCycles was created by Alex McLean who also coined the term Algorave, and is a domain-specific language embedded in Haskell, which focuses on the generation and manipulation of audiovisual patterns. Tidal's representation of rhythm is based on metrical cycles, which is inspired by Indian classical music, supporting polyrhythmic and polymetric structures using a flexible, functional reactive representation for patterns, and rational time. This programme doesn't produce sound itself, but via the SuperCollider sound environment through the SuperDirt framework, via MIDI, or Open Sound Control. Tidal is also used widely in academic research, including representation in music AI, as a language in network music, and