261003 Why This Groove Is So Addictive YT


# 261003 Why This Groove Is So Addictive YT
# Jumping off point https://www.youtube.com/watch?v=ZIsolofTJww
# https://www.mikeslessons.com/groove/?TimeSig=4/4&Div=16&Tempo=100&Measures=1&H=|x-o-x-x-x-x---x-|&S=|------O--g-gg--O|&K=|o-o-------o--o--|&Stickings=|--------RLRLL-RL|
# https://youtu.be/9YybQa2JMTo


use_bpm 88

set_volume! 1.5

with_fx :reverb, room: 0.4 do
  with_fx :krush do |krush|
    
    
    live_loop :a1 do
      tick
      
      
      drum = 1
      #drum = [1,1,1,0].choose
      case drum
      when 0
      when 1
        
        control krush, mix: [0,0.2,0.4,0.6].choose
        
        a = "hat", 1
        b = "hat", 14
        c = "sn", [1,1,1,3,1].look
        d = "bd", [1,4].choose
        
        p = [1,1,1,1, 1,1,2,1, 1,1,1,1, 1,1,1,3].look
        
        sample a if bools(1,0,0,0, 1,0,1,0, 1,0,1,0, 0,0,1,0).look
        sample b if bools(0,0,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0).look
        with_fx :ping_pong, pre_mix: 0.3, feedback: 0.4, mix: [0,1].look do
          sample c, pan: rdist(0.4), amp: p if bools(0,0,0,0, 0,0,1,0, 0,1,0,1, 1,0,0,1).look
        end
        #control krush, mix: 0
        sample d, amp: 1.5 if bools(1,0,1,0, 0,0,0,0, 0,0,1,0, 0,1,0,0).look
        #     sample d, amp: 2.5 if bools(1,0,1,0, 0,1,0,0, 0,0,1,0, 0,1,0,0).look
      end
      
      
      
      
      synthform = 0
      synthform = 1
      synthform = 2
      synthform = 3
      synthform = 4
      
      #synthform = [0,1,2].choose
      #synthform = [0,3,4].choose
      synthform = [3,4].choose
      k = 64
      synthform = knit(0,k,1,k,2,k,3,k,4,k, [3,4].choose,k).look
      
      with_fx :ping_pong, pre_mix: 0.3, feedback: 0.4, mix: [0,1].look do |pingsynth|
        case synthform
        
        when 0
        when 1
          use_synth :saw
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          k = 32
          n = :c2+knit(0,k,-2,k).look
          play n+[0,0,0,0,12].look if spread(11,32).look
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          play n+24+[0,0,0,0,12].look if spread(22,32).look
        when 2
          use_synth :dsaw
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          k = 32
          n = :c2+knit(0,k,-2,k).look
          play n+[0,0,0,0,12].look if spread(11,32).look
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          play n+24+[0,0,0,0,12].look if spread(22,32).look
        when 3
          use_synth  :beep
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          k = 32/4
          n = :c2+knit(-5,k,-4,k,-3,k,3,k*0.5,2,k*0.5, 0,k*2, -12,k*2).look
          play n+[0,0,0,0,12].look if spread(11,32).look
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          play n+24+[0,0,0,0,12].look if spread(22,32).look
        when 4
          use_synth  :saw
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          k = 32/4
          n = :c2+knit(-5,k,-4,k,-3,k,3,k*0.5,2,k*0.5, 0,k*2, -12,k*2).look
          play n+[0,0,0,0,12].look if spread(11,32).look
          use_synth_defaults release: [0.05,0.1,0.2,0.4].choose, cutoff: line(70,120,steps: 128).mirror.look
          play n+24+[0,0,0,0,12].look if spread(22,32).look
        end
      end
      
      sleep 0.25
    end
    
  end
end