Continuous random patterns must be sampled by a discrete structure to produce events
TidalCycles distinguishes continuous patterns (like rand, perlin, choose) from discrete ones. A continuous pattern has no event boundaries of its own — it is an infinitely detailed function of time. To hear it you must combine it with a pattern that provides structure (event onsets), so the continuous stream is queried once per event. This is why sound "bd*8" # pan rand works: the bd*8 supplies eight events, each of which reads one value from rand. Used bare, a continuous pattern yields no discrete triggers. This is the core mental model behind every randomness source on the page: randomness supplies values, some other pattern supplies rhythm.
Examples
d1 $ sound “drum ~ drum drum” # n (choose [0,2,3]) — structure from “drum ~ drum drum” d1 $ sound “bd*8” # pan rand — 8 events each sample rand
Assessment
Explain why d1 $ n (choose [0,2,3]) alone produces no discernible rhythm, and rewrite it so the choices are heard on four evenly-spaced events.