TidalCycles Cheat Sheet
The core TidalCycles syntax on one page — mini-notation, the pattern transformations you reach for constantly, and the common synth and effect controls.
Play & stop
d1 $ sound "bd sn hh sn"Play a pattern on channel d1hushSilence everythingd1 silenceStop just channel d1once $ sound "bd"Trigger a pattern a single timeMini-notation (inside the "")
bd sn hh cpA sequence, one step each per cyclebd*2Play twice as fast (repeat)bd/2Play once every two cycles[bd sn] hhGroup — the bracket fills one stepbd(3,8)Euclidean rhythm: 3 hits over 8 steps<bd sn cp>Alternate — one per cycle in turnbd:3Sample number 3 from the bd folder~A rest / silencebd . hh hhPhrase groups separated by a dotPattern transformations
fast 2 $ pSpeed the pattern up ×2 (also: density)slow 2 $ pSlow it down ×2 (sparsity)rev $ pReverse each cycleevery 4 (fast 2) $ pApply a function every 4th cyclejux rev $ pDo it normally left, transformed right (stereo)iter 4 $ pShift the start point one step each cyclechunk 4 (# crush 4) $ pApply to a different quarter each cyclestack [p1, p2]Layer patterns togetherpalindrome $ pPlay the cycle forwards then backwardsNotes, synths & scales
n "0 2 4 7" # sound "arpy"Play sample-mapped notesnote "c e g" # sound "superpiano"Note names into a synthn (scale "minor" "0 1 2 3") # sound "arpy"Map degrees through a scale# sound "supermandolin"Choose the synth / sample bankEffects (chain with #)
# gain 0.8Level of each event# speed 2Playback speed / pitch of samples# lpf 800Low-pass filter cutoff (also hpf)# room 0.4 # size 0.8Reverb amount and size# delay 0.5 # delaytime 0.25Delay send and time# pan 0.2Stereo position 0–1# crush 4Bit-crush (lower = more)# shape 0.3Waveshaping distortionTempo
setcps 0.5Set cycles per second (0.5 = one cycle every 2 s)setcps (135/60/4)Roughly 135 BPM in 4/4TidalCycles — Haskell pattern language for live coding. · TidalCycles in the tool directory →