TidalCycles

TidalCycles (also known as Tidal) is a live coding environment which is designed for improvising and composing music.

[1][2][3] 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.

[5] TidalCycles was created by Alex McLean who also coined the term algorave,[6] and is a domain-specific language embedded in Haskell, which focuses on generating and manipulating audiovisual patterns.

[2] Tidal's representation of rhythm is based on metrical cycles,[7] which is inspired by Indian classical music,[8] supporting polyrhythmic and polymetric structures using a flexible, functional reactive representation for patterns, and rational time.

[18] Since January 2022, an official port of Tidal's pattern engine has developed into the web-based live coding environment Strudel,[19] created by Felix Roos and Alex McLean.