Tidal effect parameters are control patterns, combined with sound patterns using the # operator
In Tidal/Strudel, effect parameters (gain, pan, speed, crush, vowel, cutoff, squiz, etc.) are not single values but patterns — collectively called ‘control patterns’ — written in the same mini-notation as sound names and combined with sound patterns using the # operator (shorthand for |>). Because both source and effect are patterns, each can be independently sequenced, repeated, evolved per event or per cycle, and scheduled with <...>. Under #, the left-hand pattern supplies the rhythmic structure (the event boundaries) and the right-hand pattern supplies values at those times; swapping the operands changes which side drives the rhythm. Tidal maps a shorter value pattern across a longer sound pattern (and vice versa), so mismatched lengths line up by repetition. This model lets any parameter be patterned independently to build complex evolving textures.
Examples
d1 $ sound "bd*4" # gain "1 0.8 0.5 0.7" -- 4 beats, structure from sound
d1 $ gain "1 0.8 0.5 0.7" # sound "bd" -- 4 events, timed by gain, bd mapped in
d1 $ n "0 1 2 3" # sound "cpu" # vowel "a o e" -- 4 sounds cycle through 3 vowels
d1 $ sound "bd*4" # crush "4" # speed "2" -- multiple stacked effects
Assessment
Write a pattern with 4 sounds and a 3-step speed pattern; state which sounds get which speeds and why. Predict the rhythmic difference between sound "bd*4" # pan "0 1" and pan "0 1" # sound "bd*4", then state the left-structure rule in one sentence.