La casualità rende la musica viva, ma in Sonic Pi è deterministica: con lo stesso seme, la stessa sequenza "casuale". Un paradosso utilissimo.
use_random_seed 42
live_loop :melodia do
play choose([:e3, :g3, :a3, :b3]), release: 0.3
sleep [0.25, 0.5].choose
play scale(:e3, :minor_pentatonic).choose if one_in(2)
sleep 0.25
end
choose pesca da una lista, rrand(1, 5) dà un numero casuale, one_in(4) è vero una volta su quattro. Ma use_random_seed 42 "riavvolge" il generatore: ogni giro del loop riparte dalla stessa sequenza, così il tuo pattern casuale suona sempre uguale.
Cambia il seme e ottieni una variazione completamente diversa, ma altrettanto ripetibile. È il modo per improvvisare e poi "salvare" il caso che ti piaceva.