Skip to main content

Trigger a pattern from the start

The Tidal Cycles cycles clock is always ticking. Sometimes, you will need to start your pattern from the beginning, in a deterministic way. There are many ways to do so.


nudge is a function originally implemented to play around with the timing of audio sample playback. You can use it to get a nice swing effect. You can also use it to deal with various timing problems.

You can set a nudge value on individual patterns to get them to shift in time:

d1 $ s "bd*4" # nudge 0.9 -- here I'm setting the nudge for this pattern

If you need to affect all of the patterns, you can also use nudge on every pattern using all:

d1 $ s "bd*4" # nudge 0.9 -- nudge for this pattern
d2 $ fast 2 $ s "~ sn" # nudge 0.4 -- different value

all $ (|+ nudge 0.2) -- adding 0.2 to the nudge param.
-- that would result in # nudge 1.1 for d1 and 0.6 for d2
nudgeAll 0.2 -- alternative shorthand version

qtrigger and trigger

d2 $ sound "bd hh hh hh"
d2 $ qtrigger $ sound "bd hh hh hh"
d2 $ trigger $ sound "bd hh hh hh"


Use resetCycles to... reset the cycle count. This will reset the cycle count as soon as you run it, not at the end of the current cycle:

d1 $ s "bd*4"
d2 $ s "~ hh ~ hh*2"