Hunter drumbeat as jumping off point in Sonic Pi #sonicpi https://youtu.be/2380Yb9dvgo



/ Research /
# Captain Pikant
# Analyzing Björk's HUNTER - It took me MONTHS to get this beat right | Drum Patterns Explained
# https://www.youtube.com/watch?v=Ix4U9eVDJk0

# Missing the last ajustments from offgrid notes on the drums patterns
#  from https://youtu.be/Ix4U9eVDJk0?feature=shared&t=587

# Björk - Homogenic (Hunter is the first track)
# https://www.youtube.com/watch?v=FdGVqlq1nE4


/ 250530 2239 Exploring Björks HUNTER drum pattern from Captain Pikants break down YT /
# 250530 2239 Saved
# 250530 Hunter drumbeat as jumping off point in Sonic Pi
# https://youtu.be/2380Yb9dvgo
# Own art
# https://in-thread.sonic-pi.net/t/hunter-drumbeat-as-jumping-off-point-in-sonic-pi-sonicpi-https-youtu-be-2380yb9dvgo/9711



use_bpm 160

set_volume! 2

with_fx :reverb, room: 0.4, mix: 0.5 do
  
  live_loop :drums do
    tick
    
    a = 1.5
    b = 0.6
    c = 0.3
    
    snare_vol = 0.65
    kick_vol = 1.5
    
    
    
    pageA = 0 # mute drums
    pageB = knit(1,16,2,16,3,16,4,16).look #Page 1-4 Bjork pattern
    
    page = knit(pageA,16*2, pageB, 16*4*2-16*2).look
    
    #page = 0  # mute drums
    #page = 5  # my variantion
    
    
    puts 'Pattern =',page if spread(1,16).look
    
    case page
    when 0 # mute drums
      snare = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]
      kick  = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]
      
      # Page 1-4 Bjorks Hunter drum pattern
      # Missing the last microajustments from offgrid notes on the drums patterns
      #  from https://youtu.be/Ix4U9eVDJk0?feature=shared&t=587
    when 1
      snare = [a,0,b,c, c,c,b,b, a,0,0,0, 0,0,0,0]
      kick  = [a,0,0,0, 0,0,0,0, 0,c,b,c, b,0,b,0]
    when 2
      snare = [a,0,b,c, c,c,b,b, a,0,0,0, c,c,b,b]
      kick  = [a,0,0,0, 0,0,0,0, 0,c,b,c, b,c,b,c]
    when 3
      snare = [a,0,b,c, c,c,b,b, a,0,0,0, 0,b,c,0]
      kick  = [a,0,0,0, 0,0,0,0, 0,0,b,0, b,0,b,0]
    when 4
      snare = [a,0,c,c, c,b,b,b, a,0,c,c, c,c,b,b]
      kick  = [a,0,0,0, 0,0,0,0, b,c,b,c, b,c,b,c]
      
      
    when 5 # my variantion
      snare = [0,0,0,0, 0,c,c,b, a,0,c,0, 0,0,0,0]
      kick  = [a,0,0,0, 0,0,0,0, 0,0,0,c, a,b,c,b]
    end
    
    rd = rdist(0.5)
    rd = -1
    #rd = 1
    #rd = line(1,-1,steps: 64).mirror.look
    
    
    weird = [1,1,1,3,1,1,1,1,2,2,2,2,4,4,4]
    
    f_snare = line(0.01,0.1, steps: 64).choose+line(0.01,0.1, steps: 128).look
    f_kick = line(1,0.3, steps: 128).look
    #puts f_kick if spread(1,128).look
    sample :sn_zome , finish: f_snare, amp: snare.look*snare_vol,  pan: rd
    sample :bd_tek,   finish: f_kick, amp: kick.look*kick_vol,    pan: -rd
    
    
    #sleep 0.25/1.5*weird.look
    sleep 0.25
  end
  
  / short bass notes /
  live_loop :b1 do
    # stop
    tick
    use_synth  :saw
    #    use_synth  :dtri
    
    #use_synth  [:tb303, :square,:prophet,:pluck,:noise,:gnoise, :cnoise,:bnoise,:dtri,:saw].look
    use_synth_defaults cutoff: [70,90,110].choose+knit(-20,32,-10,32,0,32,20,32).look,
      release: knit(0.15,7, 0.25,3, 0.4,4).look, amp: [2,1,1].look
    
    
    / NOT DONE HERE I THINK /
    n = :c4+knit(0,128+64,-2,64).look
    / NOT DONE HERE I THINK /
    
    
    play [n].look    , pan: 0.4  if bools(1,0,1,0,0,1,0,1).look
    play [n].look-24+0.04 , pan: -0.4 if bools(1,1,1,0,0,1,1,0).look
    sleep 0.5
  end
  
end

/ 2 * loooong reverb beep notes /
with_fx :reverb, room: 0.99 do
  live_loop :a1 do
    #stop
    tick
    use_synth :beep
    play :c5+[0,7,3,2,-2].look, amp: 0.5, pan: rdist(0.5)
    sleep    [8,8,8,6,2].look
  end
  live_loop :a2 do
    # stop
    tick
    use_synth :beep
    play :c5+[0,7,3,2,-2,12].look-12, amp: 1, pan: rdist(0.75)
    sleep    [8,8,8,6,2,1].look*0.5
  end
end

2 Likes