Inspiration from Ryoji Ikeda ARS musica first draft

1.draft from

Inspiration: “Ryoji Ikeda ARS musica”

Ryoji Ikeda ARS musica - YouTube

# 230614 0031 Inspiration from Ryoji Ikeda ARS musica first draft
# Saved 230614 0031
# Created by Created by https://linktr.ee/relaxnow


# Inspiration: "Ryoji Ikeda ARS musica"
#   https://youtu.be/LeIZvgkRFSQ?t=1002


set_volume! 2

with_fx :reverb, mix: 0 do |rev|
  with_fx :krush, mix: 0 do |krush|
    with_fx :bitcrusher, mix: 0 do |bit|
      
      live_loop :controlfx do
        m = [0,0.2,0.4].choose
        bits = [0.2,0.7,1.1].choose
        control bit, mix: m, bits: bits
        
        mk = [0,0.2,0.4].choose
        k = [0.2,0.7,1.1].choose
        control krush, mix: mk
        
        mr = [0,0.2,0.4].choose
        r = [0,0.2,0.4].choose
        control rev, mix: mr, room: r
        
        sleep 0.25
      end
      
      live_loop :a1 do
        tick
        
        /change here/
        n = :gs2
        n = :gs2+[0,0,12].choose
        
        density rrand_i(1,2) do
          
          /change here/
          synth = 1  # 4 NICE
          
          case synth
          when 0
          when 1
            use_synth :fm #original
            #        use_synth :sine
            #use_synth :dsaw
            #use_synth [:fm, :sine].choose #Nice
            #use_synth [:fm, :sine, :dsaw].choose
            
            use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose, release: [0.1,0.2,0.3].choose
            #use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose-[0.02,0.05,0.08].choose, release: [0.1,0.2,0.3].choose-0.08
            play [n,n,n,n,n+12].look
            #play [n,n,n,n,n+12].look if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            #play [n,n,n,n,n+12].look+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            
            #          play [n,n,n,n,n+12].look+12+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(2).look
            #          play [n,n,n,n,n+12].look+12-7+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(3).look
            
          when 2
            use_synth :fm #original
            #        use_synth :sine
            #use_synth :dsaw
            #use_synth [:fm, :sine].choose #Nice
            #use_synth [:fm, :sine, :dsaw].choose
            
            #use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose, release: [0.1,0.2,0.3].choose
            use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose-[0.02,0.05,0.08].choose, release: [0.1,0.2,0.3].choose-0.08
            play [n,n,n,n,n+12].look
            play [n,n,n,n,n+12].look+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            #play [n,n,n,n,n+12].look+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            
            #          play [n,n,n,n,n+12].look+12+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(2).look
            #          play [n,n,n,n,n+12].look+12-7+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(3).look
            
          when 3
            #            use_synth :fm #original
            #        use_synth :sine
            #use_synth :dsaw
            use_synth [:fm, :sine].choose #Nice
            #use_synth [:fm, :sine, :dsaw].choose
            
            #            use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose, release: [0.1,0.2,0.3].choose
            use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose-[0.02,0.05,0.08].choose, release: [0.1,0.2,0.3].choose-0.08
            play [n,n,n,n,n+12].look
            play [n,n,n,n,n+12].look if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            #            play [n,n,n,n,n+12].look+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            
            play [n,n,n,n,n+12].look+12+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(2).look
            #          play [n,n,n,n,n+12].look+12-7+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(3).look
            
          when 4
            #            use_synth :fm #original
            #        use_synth :sine
            #use_synth :dsaw
            use_synth [:fm, :sine].choose #Nice
            use_synth [:fm, :sine, :dsaw].choose
            
            #use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose, release: [0.1,0.2,0.3].choose
            use_synth_defaults attack: 0, sustain: [0.1,0.2,0.3].choose-[0.02,0.05,0.08].choose, release: [0.1,0.2,0.3].choose-0.08
            play [n,n,n,n,n+12].look
            play [n,n,n,n,n+12].look if (spread(3,5)+spread(5,5)+bools(1,0,1)).look
            #            play [n,n,n,n,n+12].look+12 if (spread(3,5)+spread(5,5)+bools(1,0,1)).rotate(2).look
            
          end
          
          
          / top notes /  # (Needs more work)
          
          use_synth :fm
          use_synth_defaults release: 0.25
          #          play :gs8 if (spread(1,4)*7+spread(5,7)).look and one_in(2)
          
          sleep 0.25
        end
        
        /change here/
        / kick /
        #sample :bd_haus, cutoff: 75, amp: 3 if bools(1,0,0,0).look        #calm
        #sample :bd_haus, cutoff: 75, amp: 3 if bools(1,0).look   # 4 on floor
        
        
      end
    end
  end
end