TidalCycles

TidalCycles
Developer(s)Alex McLean, others
Initial release2009; 15 years ago (2009)
Stable release
1.9.5 / 7 April 2024; 5 months ago (2024-04-07)
Repositoryhttps://github.com/tidalcycles/
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.[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.[4] 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.[5]

  1. ^ McLean, Alex. "Tidal – Pattern Language for Live Coding of Music". Sound and Music Computing. Archived from the original on 2017-10-15. Retrieved 22 May 2015.
  2. ^ Bick, Emily (March 2016). "Pattern Recognition". The Wire. No. 385. pp. 16–17.
  3. ^ "TidalCycles, free live coding environment for music, turns 1.0". CDM Create Digital Music. 2018-12-18. Retrieved 2018-12-27.
  4. ^ McLean, Alex (2014). "Making programming languages to dance to". Proceedings of the 2nd ACM SIGPLAN international workshop on Functional art, music, modeling & design. FARM '14. New York, New York, USA: ACM. pp. 63–70. doi:10.1145/2633638.2633647. ISBN 978-1-4503-3039-8. S2CID 1190832.
  5. ^ Mollan, Cherylann (2019-02-10). "Grooving to Algo'rhythms'". The Asian Age. Retrieved 2019-03-01.