Mini-notation specifies patterns tersely inside a string, with events spaced evenly across one fixed-length cycle
Mini-notation is Tidal/Strudel’s terse in-string pattern parser (inspired by the Bol Processor) that makes live coding practical by minimising typing. Whitespace-separated tokens are distributed evenly across exactly one cycle: "bd sd" gives two half-cycle steps, "bd sd kick sn" cycles twice as fast — the cycle length is fixed, so adding tokens compresses each one (denser/faster), a key reframe against the beginner intuition that more tokens make the pattern longer. Key syntax: [...] subdivides a single step into a subsequence (combined over time with cat semantics); a comma inside brackets stacks/overlays patterns in parallel; *n after a token multiplies its density (bd*4 = four kicks); ~ is a rest; :n selects a sample variant (kick:3 = fourth sample in the folder); {...} gives polyrhythmic (‘every element the same length’) semantics rather than the default. String overloading in the host language removes any need to prefix the parse function.
Examples
sound "bd*4" -- four kicks per cycle
sound "[hh sd, bd*4]" -- snare-hat pattern stacked with four-on-the-floor
sound "hi [lo hi] lo" -- second step subdivided into two
n "0 2 4" # sound "cpu" -- pick samples by index
sound "{bd hh, sd sd sd}" -- polyrhythmic: two vs three per cycle
Assessment
Write the mini-notation for a kick on beats 1 and 3, a snare on 2 and 4, and a hi-hat every eighth note, all simultaneously; explain the bracket/comma syntax used. Explain why "kick snare kick snare" sounds twice as fast as "kick snare". Write a pattern that plays kick, rest, two snares in one step, then clap.