Going crazy with randomnes 2.0

I like to go to the extremes, maybe u have built something similiar, or want to add something?

set_mixer_control! amp: 3

live_loop :metro do
  sleep 2.5
end

live_loop :kick, sync: :metro do
  
  use_random_seed (ring 5,5,5,1).tick(:tick3764)
  3.times do
    sleep (ring 0.5,0.5,0.5,0.5,0.25,0.25).choose
    sample :drum_heavy_kick, amp: 0.35
  end
  sleep (ring 0,0,0,0.5).tick(:wjek)
end

live_loop :hats, sync: :metro do
  
  use_random_seed (ring 5,5,5,1,5,5,5,5).tick(:tick3222312)
  3.times do
    sleep (ring 0.25,0.25,0.25,0.25,0.5,0.5).choose
    sample :drum_cymbal_soft, amp: 0.25
  end
  sleep (ring 0,0,0,0.5).tick(:wjeqwesdk)
end



live_loop :pitchis, sync: :sleepsbass do
  set :pitchi, (ring -2,-0,-2,-2).tick(:ekww)
  sleep 0.5
end



live_loop :sleepsbass, sync: :metro  do
  
  use_random_seed (knit 100,2,50000,2,6000,4,1,2).tick(:tick3546263)
  3.times do
    set :slep, (ring 0.5,0.25,0.25,0.5,0.25 ).choose
    sleep get(:slep)
  end
end

live_loop :notasblass, sync: :sleepsbass  do
  
  use_random_seed (knit 500,2,300,2,80000,2).tick(:tick344739) #(ring 500,5080,500,5085, 500,5080,500,5085, 500,5080,500,5085, 500,5080,500,5085,  10,1000,20,10,1000,300,10,8000,10,1000,20,10,1000,300,10,8000).tick(:tick3544564566263)
  3.times do
    set :notas12, (ring 1,3).choose
    sleep get(:slep)
  end
end

live_loop :slepstep1, sync: :sleepsbass do
  use_random_seed (ring 1).tick(:shhaw)
  2.times do
    set :slepsteps1, (ring 1,0,1,1).choose
    sleep get(:slep)
  end
end

live_loop :rels, sync: :sleepsbass do
  use_random_seed (ring 1,1,1,5000).tick(:shdaa)
  4.times do
    set :rel, (ring 0.25,0.125,0.25,0.5,0.25).choose
  end
  sleep get(:slep)
end

live_loop :ampis, sync: :sleepsbass do
  use_random_seed (ring 1,1,1,200).tick(:tickasjdea)
  4.times do
    set :ampi, (ring 0.125,0,0.25,0.5,0.125).choose
  end
  sleep get(:slep)
end

live_loop :bass, sync: :sleepsbass do
  
  #with_fx :bitcrusher, bits: rrand(6,9), mix: 0 do
  # with_fx :echo, phase: 0.25, decay: 0.25, mix: 0 do
  # with_fx :slicer, phase: 0.25, pulse_width: 0.5, mix: 0 do
  use_random_seed (ring 1,1,1,500).tick(:tick1afs23)
  use_synth :tb303
  8.times do
    play degree(get(:notas12), :c2, :phrygian), amp: get(:ampi), release: get(:rel), pitch: get(:pitchi) if bools(1,0,1,0,1).choose
    
    sleep get(:slep)
  end
  sleep get(:slepsteps1)
  # end
  # end
  # end
end




live_loop :sleepslead, sync: :metro  do
  
  use_random_seed (ring 2,60,2,65,5,800).tick(:tick3546263)
  6.times do
    set :slep1, (ring 0.25,0.25,0.25,0.5,0.25,0.5 ).choose
    sleep get(:slep1)
  end
end

live_loop :notaslead, sync: :sleepslead  do
  
  use_random_seed (knit 1,5,5000,5,224,2).tick(:tick245)#(ring 500,5080,500,5085, 500,5080,500,5085, 500,5080,500,5085, 500,5080,500,5085,  10,1000,20,10,1000,300,10,8000,10,1000,20,10,1000,300,10,8000).tick(:tick3544564566263)
  2.times do
    set :notas13, (ring 1,3,5,1).choose
    sleep get(:slep1)
  end
end

live_loop :slepstep, sync: :sleepslead do
  
  use_random_seed (ring 1).tick(:shhaw)
  2.times do
    set :slepsteps, (ring 0.25,0.25,0.25,0.5,0).choose
    sleep get(:slep1)
  end
end

live_loop :rels1, sync: :sleepslead do
  
  use_random_seed (ring 1,1,1,5000).tick(:shdaa)
  4.times do
    set :rel1, (ring 0.5,0.125,0.25,0.25,0.25).choose
  end
  sleep get(:slep1)
end


live_loop :ampis1, sync: :sleepslead do
  
  use_random_seed (ring 50,50,50,500000).tick(:tickasjdea)
  3.times do
    set :ampi1, (ring 0.4,0, 0.4,0.6,0).choose
  end
  sleep get(:slep1)
end

live_loop :lead, sync: :sleepslead do
  
  with_fx :flanger, depth: 0.5, phase: 0.25, decay: 0.25, wave: 1, mix: 1 do
    with_fx :echo, phase: 0.125, decay: 0.25, mix: 1 do
      with_fx :slicer, phase: 0.25, pulse_width: 0.5, mix: 1 do
        
        use_synth :piano
        use_random_seed (ring 1,1,1,500).tick(:tick1afs23)
        4.times do
          play degree(get(:notas13), :a2, :phrygian), amp: get(:ampi1), release: get(:rel1), pitch: get(:pitchi) if bools(0,1,0,1,1).choose
          sleep get(:slep1)
        end
        sleep get(:slepsteps)
      end
    end
  end
end


Hi @holz

think there’s an error:
``live_loop :rels1 do
use_random_seed (ring 1,1,1,5000).tick(:shdaa)
4.times do
set :rel1, (ring 0.5,0.125,0.25,0.25,0.25).choose
end
sleep get(:slep1)
end
~~
Shouldn’t it be
sleep get(:rel1)?

Reminds a little bit of Devo, in a slightly mechanistic fashion

Regards
Hussein

Here’s an example of being silly with some sine waves.

use_synth :sine

live_loop :siny do
  play 69 + rrand(-0.197,0.197), attack: rrand(0.7,3.0), release: 100000, pan:rrand(-1,1)
  sleep [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0.75, 0.5, 0.25, 0.125].choose
end

live_loop :siny2 do
  play 57 + rrand(-0.197,0.197), attack: rrand(0.7,3.0), release: 100000, pan:rrand(1,-1), amp:0.4
  sleep [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0.75, 0.5, 0.25, 0.125].choose
end

live_loop :siny3 do
  play (octs [50, 60].choose, 3), release: 100000, amp:0.3
  sleep [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0.75, 0.5, 0.25, 0.125].choose
end

live_loop :siny4 do
  play 64 + rrand(-0.597,0.597), attack: rrand(0.7,3.0), release: 100000
  sleep [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0.75, 0.5, 0.25, 0.125].choose
end

You have to stick with it for a bit until it starts to deteriorate into interesting oscillations.

1 Like

Hey the code is right u just have to load it 2-3 times, there was a way to prime everything so it doesn’t have to load everything, I just can’t remember how

One way you can avoid the errors that currently occur on the first run is to make sure that the loops that get(:slep1) wait until they have synced with the loop that sets slep1.
(For example, changing:

live_loop :rels1 do

to

live_loop :rels1, sync :sleeplead do

(Along with any other loops that get(:slep1))