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:

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