home/ atoms/ tidal-pattern-structure-left

In a Tidal # combination, the left-hand pattern determines the rhythmic structure

When two patterns are combined with # (shorthand for |>, ‘structure from left, values from right’), the left-hand pattern’s event onsets determine when events occur — the rhythmic skeleton — while the right-hand pattern only supplies values at those times. So the operand order chooses which dimension drives the rhythm: with a sound pattern on the left, the sounds dictate timing; put an effect or parameter pattern on the left and its events dictate timing while sounds are mapped onto them. Concretely, if sound has 8 events and squiz has 4, sound # squiz plays 8 sounds, but squiz # sound plays only 4. Removing events from the left pattern drops events; adding them creates more. Related operators change the rule: |< / >| takes structure from the right, and |<| (or |>|) takes structure from both sides.

Examples

d1 $ pan "0 1 0.25" # sound "bd sn drum arpy"      -- 3 events: structure from pan (left)
d1 $ sound "bd sn drum arpy" # pan "0 1 0.25 0.75"  -- 4 events: structure from sound (left)
d1 $ n "0 1 2 3" # squiz "4 1 0 3"                  -- 4 events, squiz values fill positions

Assessment

Given d1 $ n "0 1 2" # s "drum arpy", how many sounds play per cycle? Now swap the sides — how many play, and why, using the left-structure rule? Given d1 $ speed "1 2 3" # sound "bd sd" versus d1 $ sound "bd sd" # speed "1 2 3", state how many events play in each and which sounds are heard.

“With '#' structure comes from the left - try swapping the parameters around”
corpus · tidalcycles-course-1-structured-4-week-course · chunk 6
“The order that you put things matters; with `#`the structure of the pattern is given by the pattern on the _left_.”
corpus · tidalcycles-userbase-tutorial-community-function-by-function · chunk 3