Show your buffers in Sonic Pi

Summer cleaning of buffers in Sonic Pi

Buffer 0

# 240625 Buffer 0

set_volume! 2

with_fx :reverb, room: 0.9 do
  
  live_loop :a1 do
    tick
    sample :bd_fat, amp: 3 if bools(1,0,0,0, 0,0,0,0).look
    play :c2, release: [0,0.1,0.2,0.3].choose if spread(2,8).look
    play :c5+knit(0,16,-2,8,-5,8).choose, amp: [1,0.7,0.6,0].choose, release: [0,0.1,0.2,0.3].choose
    play :c4+knit(0,16,-2,8,-5,8).choose, amp: [1,0.7,0.6,0].choose, release: [0,0.1,0.2,0.3].choose
    sleep 0.125
  end
  
  live_loop :a2 do
    tick
    a = (spread(0,16)+spread(16,16)).look
    #a = true
    # a = false
    use_synth :prophet
    play :c2, amp: 3, cutoff: [80,90,0,0,110,70,0,0, 80,110,0,0, 0,90,0,0].look if bools(1,1,0,0, 0,1,0,0).look and a
    sleep 0.5
  end
  
  live_loop :a3 do
    tick
    a = (spread(16,16)+spread(1,16)).look
    b = (spread(11,16)+spread(1,16)).reverse.look
    #a= false
    #b = false
    use_synth :noise
    play :c7, amp: 2, pan: rdist(0.5),release: [0.01,0.02,0.03].choose, cutoff: [90,95,100,105,110,130].choose-5 if a
    use_synth :beep
    play :c7, amp: 0.45, release: [0.01,0.02,0.03].choose, cutoff: [90,95,100,105,110,130].choose-5 if b
    sleep 0.125
  end
  
end

Buffer 1

# 240625 Buffer 1

set_volume! 1

with_fx :reverb, room: 0.4 do
  #with_fx :flanger, phase: 16, mix: 0.5 do
  #with_fx :krush, mix: [0,0.2,0.4].choose do
  
  live_loop :a1 do
    tick
    
    / warm long bass note /
    play :f2+knit(0,32,-2,32).look, amp: 2 if spread(1,32).look
    
    / beep /
    play :c5+knit(0,8, 3,8,7,16).look, release: 0.04 if spread(5,8).look
    play :c6+knit(0,8, 3,8,7,16).look, release: 0.02 if spread(3,5).look
    play :c4+knit(0,8, 3,8,7,16,-2,32).look, release: line(0.02,0.1, steps: 64).mirror.look if (spread(4,5)+spread(2,5)).look
    
    
    / high pitch wood sound /
    play :c6+[0,12,-12].choose+knit(0,32,-2,32).look, release: [0.005, 0.001].choose if spread(11,16).rotate(8).look
    
    / kick /
    sample :bd_fat, amp: 2+[0,-0.2,0.3,0.5].choose if (spread(8,32)+bools(1,0,1,1,0,0,1,1)).look
    
    / hihat /
    sample :sn_generic, finish: 0.02, rpitch: 12, pan: rdist(0.5), amp: 1+[0,-0.2,0.3,0.5].choose if spread(11,16).look
    sleep 0.125
  end
  
  #end
  # end
end

Buffer 2

# 240625 Buffer 2
# Using spread() as a tool for song structure

set_volume! 2

with_fx :reverb, room: 0.95 do
  with_fx :echo do
    
    
    live_loop :a1 do
      tick
      sample :bd_fat, amp: 4 if spread(1,8).look
      #sample :bd_fat, amp: 4 if spread(1,2).look
      
      use_synth :beep
      
      n = :a1
      play n, amp: 2 if spread(1,8).look
      play n+12, amp: 2 if bools(0,1,0,0, 0,0,0,0).look
      play n+12+12, amp: 1 if (spread(0,8)*3+bools(0,0,1,0, 0,0,0,0)*2).look
      play n+12+12+12, amp: 0.5 if (spread(0,8)*1+bools(0,0,0,0, 0,1,0,0)*2).look
      #sample :elec_ping, amp: 2
      #      sample :elec_ping, amp: 2 #if (spread(0,8)+spread(8,8)).look
      sleep 1
    end
  end
  
  live_loop :a2 do
    tick
    sample :sn_dolf, finish: 0.0125, amp: 1 if (spread(16,16)+spread(1,16)).look
    sample :elec_ping, rpitch: 12+knit(0,16,-5,8,-4,8).look if spread(3,5).rotate(2).look
    sleep 0.25
  end
   
end

Buffer 3

# 240625 Buffer 3

set_volume! 2

with_fx :reverb, room: 0.8 do
  with_fx :reverb, room: 0.8 do
    
    live_loop :a1 do
      tick
      
      use_synth :beep
      s = scale(:c, :minor_pentatonic).choose
      
      k = 64+12+12
      n = :c2+knit(0,k,3,k,-2,k-64).look #
      
      play n, amp: 4 if spread(1,32).look
      play n+24, amp: 1 if spread(1,32).rotate(-3).look
      play n, amp: 4 if spread(1,32).rotate(4).look
      
      use_synth :piano
      play s-12-12, amp: 2 if spread(1,32).rotate(8).look
      #   play s, release: [0.001,0.01,0.02,0.3].choose, cutoff: 110 if spread(7,8).look
      play s+12, release: [0.01].choose, cutoff: 130, pan: rdist(0.5) if spread(7,8).look
      
      sample :bd_fat, amp: 4 if bools(1,0,1,0, 0,0,0,0, 1,0,0,0, 0,0,0,0).look
      sample :sn_generic, finish: [0.01,0.0001,0.005].choose, cutoff: [60,70,90,110].choose, amp: [1,2,1,1].look if spread(7,16).rotate(0).look
      sample :elec_tick, finish: 0.25, rpitch: [0,12,24].look if bools(1,1,1,0, 0,0,1,0, 0,0,1,0, 0,1,1,0,).look
      
      sleep 0.125
    end
    
  end
end

Buffer 4

# 240625 Buffer 4
t = "C:/Users/1234/Desktop/Make Noise Sample Packs/Make Noise 0-Coast Sample Pack/One Shots/"
t = "C:/Users/1234/Desktop/Novation - Nahre Sol Sounds/Novation - Nahre Sol Sounds/Novation - Nahre Sol Sounds/nahre sol sounds/"
use_bpm 20
with_fx :reverb, room: 0.6 do
  
  live_loop :a2 do
    tick
    
    a = 7
    b = 4
    c = 1
    s = 0
    
    #t1 = 26
    t1 = rand_i(30)
    t2 = 45
    t3 = 50
    t3 = rand_i([51,52,53,54,66].choose)+10
    
    a1 = 0#1
    a2 = 4#4
    a1 = 3
    a2 = 2
    
    
    s = knit(1,a,2,b,3,c).look
    s = 1
    case s
    when 0
    when 1
      sample :bd_haus, cutoff: 80, amp: a1 if spread(5,14).look
      sample t,t1, amp: a2
    when 2
      sample :bd_haus, cutoff: 110, amp: a1 if spread(14,14).look
      #sample :elec_tick, amp: 4
      sample t,t2, amp: a2
    when 3
      sample :bd_fat, cutoff: 130, amp: a1 if spread(14,14).look
      #sample :elec_tick, amp: 4
      #sample t,3, amp: 4
      sample t,t3, amp: a2
    end
    
    #sleep 0.125
    sleep [0.125, 0.05125].choose
  end
  
end

Buffer 5

# Buffer 5

# 231221 2056 midiout focusrite_usb_midi_1
# Saved 231221 2056

set_volume! 2

use_bpm 77
live_loop :a1 do
  # stop
  tick
  
  p = (spread(4,7)*3+spread(5,7))
  p = spread(3,5)
  on p.look do
    puts p.look
    use_midi_defaults channel: 1, port:  "focusrite_usb_midi_1"
    
    #    use_midi_defaults channel: 1, port:  "loopmidi_port_2"
    midi :c2+1, sustain: [0.1,0.2,1].look, vel_f: 1 #0-coast
    
    
    #midi :gs2, sustain: 0.3, vel_f: 4
  end
  
  
  
  #sample :bd_haus, amp: 4, cutoff: 70 if spread(4,12).look
  sample :bd_haus, amp: 4, cutoff: 90 if (spread(3,5)*3+spread(5,7)).rotate(2).look
  #sample :elec_tick, rpitch: 12, amp: 4 if spread(7,12).look
  #sample :elec_tick, rpitch: 12, amp: 4 if (spread(1,4)*7+spread(3,4).pick(2)).look
  sleep 0.125
  
end

Buffer 6

# Buffer 6

set_volume! 4

#with_fx :reverb do |flanger|

live_loop :a1 do
  q= 0.25
  w= 0.125
  tick
  # control flanger, mix: [0,0.2,0.4,0.6].choose
  a = spread(5,5)
  b = spread(5,7)
  sample :bd_haus, cutoff: 80 if (a+b).look
  sample :bd_fat, rpitch: 12+12 if (a+b+b).look
  
  use_synth :saw
  #use_synth_defaults cutoff: [70,90,110].choose, release: [0.1,0.1,0.2,0.3].look
  use_synth_defaults cutoff: [70,90,110].choose-20, release: [w,w,w,q].look
  #use_synth_defaults cutoff: [70,90,110].choose, release: [q,q,q,w].look
  play :c2+[0,0,0,0,12].look if a.look
  play :c4+[0,0,0,0,12].look if (b+b+a).look
  #play :c5 if (b+b+a).look
  
  
  sleep [q,q,q,w].choose
  #sleep [q,q,q,w,].look
  #sleep [w,w,w,q].look
end

#end

1 Like

Hi @Relaxnow
I love how you use knit, bools and spread to create sequenced patterns that interweave, live and breathe. I tend to get bogged down in isolated patterns, without giving thought to how they might overlap and interact. Very nice! Would love to see a video of you live coding something in a similar style.

PD-Pi

2 Likes