Renardo's PRand, PChoice and PWhite generate stochastic values that re-roll each cycle
Beyond deterministic Patterns, Renardo provides stochastic pattern generators that draw a fresh value each time the player consumes them. PRand(0, 7) yields a random integer in a range; PRand([0,2,4,7]) picks randomly from a list; PChoice([0,2,4,7]) chooses uniformly from given options; PWhite(lo, hi) returns random floats (white-noise distribution) useful for humanizing rate, amp, or pan. Because they re-evaluate per cycle, the same code produces endless variation without editing — a core live-coding technique for organic, non-repeating parts. A seed= argument makes the randomness reproducible. This differs from a plain Pattern, which repeats identically forever. The common pitfall is expecting a stochastic pattern to be stable — it is not; wrap it in a normal list if you want a fixed roll.
Examples
p1 >> pluck(PRand(0, 7)) # random degree 0-6 each note
p1 >> pluck(PChoice([0, 2, 4, 7])) # pick from a set
cp >> play("x", rate=PWhite(1, 1.5, seed=3)[:16] / 1.5) # humanized rates
Assessment
What is the audible difference between pluck(P[0,2,4]) and pluck(PChoice([0,2,4])) over many cycles? How do you make a PWhite roll reproducible?