home/ atoms/ renardo-stochastic-patterns

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?

“p1 >> pluck(PRand(0, 7)) # Random values between 0-7”
corpus · renardo-python-over-supercollider-foxdot-successor-with-buil · chunk 27