I’m not exaggerating, either. Have a listen. Again with the real randomization, because that’s becoming a staple in my 'Pi-ing. I plan on using this in one of my tracks and possibly at an Algorave if I ever end up performing at one.
live_loop :bass do
use_octave -0.5
t = Time.now.to_i + rrand_i(-1000000000000000000000000000000000000, 1000000000000000000000000000000000000)
use_random_seed t
puts "Seed: #{t}"
z = [60,63,66,68,70,72,74,76,78,80,82,84,86].choose
n = ((chord :c, :m7) + [z]).sort
v = (line 0.25, 0.5).reflect
p = (line -0.85, 0.85, steps: 150).reflect
with_fx :reverb, room: 0.5, mix: rrand(0,1) do
s1 = synth :hoover, note: n.tick(:n), attack: [0,0,0,0,2].choose, release: [0.5,0.5,0.5,2].choose, amp: v.tick, pan: p.look, cutoff: rrand(70, 120)
s2 = synth :fm, note: n.tick(:n), attack: [0, 0.125, 0.25, 0.5, 0.625, 0.75, 0.825, 1].choose, release: [0.5,0.5,0.5,2].choose, amp: v.tick, pan: p.look, cutoff: 128, noise: [0,1,2,3,4].choose, ring: [rrand(0.1, 50), rrand(0.1, 50), rrand(0.1, 50)].choose
control s1, amp: v.tick, amp_slide: [0.0625, 0.25].choose, pan: p.look, pan_slide: 0.25, depth: 2, depth_slide: 1.5
control s2, amp: v.tick, amp_slide: [0.0625, 0.25].choose, pan: p.look, pan_slide: 0.25, depth: 2, depth_slide: 1.5
end
sleep 0.25
end