What Can You Make with Tidal Cycles?
Tidal Cycles (often just "Tidal") is a free/open-source live coding environment for algorithmic patterns, written in Haskell. You can use it to make patterns with code — not only musical sequences of sounds and notes, but also parameters and "all kind of information." It uses SuperCollider, another open-source tool, for synthesis and MIDI. If you want to generate flexible, code-driven patterns in real time, Tidal is built for that; if you need a purely graphical, menu-driven sequencer, this is a different kind of tool.
Patterns made with code
The core activity in Tidal is writing code that describes patterns. Instead of drawing notes on a timeline, you describe a sequence as an expression, and Tidal turns it into a pattern over time. This is what makes it a live coding environment: you edit and re-evaluate code while it runs.
What kinds of sequences you can describe
Tidal includes a language for describing flexible sequences. According to the project, that includes:
- Polyphonic sequences — multiple sounds or notes at once.
- Polyrhythmic sequences — different rhythmic cycles layered together.
- Generative sequences — patterns that are produced by rules rather than fully written out note by note.
These can cover sounds, notes, parameters, and other information, so the same pattern language applies whether you're sequencing audio or controlling something else.
It's not only music
A useful way to think about Tidal is "pattern everything." The project describes its language as covering "all kind of information," not just musical events. So the same approach you'd use to sequence notes can be used to pattern other values and parameters over time.
A concrete example of the workflow
For example, if you want a generative, polyrhythmic texture, you'd write a pattern expression that layers two rhythmic cycles and lets a rule vary the events, then evaluate it while Tidal is running so you hear the result and adjust the code live. The input is your code; the action is evaluating it in the live environment; the expected result is an evolving pattern you can keep editing.
Where Tidal fits in a wider ecosystem
Tidal has inspired an open-source family of similar environments that adopt its model of "patterns of time," known as Uzulangs. That family includes the web-based Strudel environment. So if you like Tidal's pattern model but want to work in the browser, Strudel is part of the same lineage.
Who it's for
Tidal is used by a diverse community of musicians for composition, improvisation, and exploration of algorithmic music. You can read more on the Tidal Blog, submit your own post, or learn about the Tidal community through the project's site.