260329 2141 Noise drums + square bass + beep + saw melody YT

# 260329 2141 Noise drums + square bass + beep + saw melody
# Saved 260329 2141
# https://in-thread.sonic-pi.net/t/260329-1937-noise-drums-square-bass-beep-saw-melody/9955
# https://www.youtube.com/watch?v=o-JhhfEfMyc

set_volume! 0.5

use_bpm 83

with_fx :ping_pong do |pp|
  with_fx :krush  do |krush|
    with_fx :bitcrusher do |bit|
      with_fx :reverb do |rev|
        
        live_loop :a1 do
          tick
          
          /kick/
          sample :bd_haus, cutoff: 110, amp: 2 if spread(1,12).look
          /short offbeat hihat/
          sample :sn_generic, finish: 0.01, cutoff: 130, amp: 0.7 if spread(4,12).rotate(2).look
          
          / fx control mixer /
          mk = 32
          myfx = knit(0,mk, 1,mk, 2,mk, 1,mk).look
          puts "Fx mixer =", myfx if spread(1,mk).look
          
          /manual fx mixer /
          #myfx =2
          
          case myfx
          when 0
            m = 0.2
            control pp, mix: 0.4
            control krush, mix: 0.1
            control rev, mix: 0.4
            control bit, mix: 0.1
          when 1
            m = 0.2
            use_random_seed 230
            control pp, pre_mix: [0,0.2,0.4, 0.8].choose, mix: m
            control krush, pre_mix: [0,0.2,0.4].choose, mix: m
            control rev, pre_mix: [0,0.2,0.4].choose, mix: m
            control bit, pre_mix: [0,0.2,0.4].choose, mix: m
          when 2
            m = 0.4
            control pp, pre_mix: [0,0.2,0.4, 0.8].choose, mix: m
            control krush, pre_mix: [0,0.2,0.4].choose, mix: m
            control rev, pre_mix: [0,0.2,0.4].choose, mix: m
            control bit, pre_mix: [0,0.2,0.4].choose, mix: m
          end
          
          / low chipnoise 1 in 10 /
          use_synth :chipnoise
          use_synth_defaults release: 0.2+rdist(0.1)
          play :c2 if spread(1,10).look
          
          /moving noise hihat /
          use_synth :bnoise
          use_synth_defaults release: line(0.01,0.3, steps: 16).choose
          play :c2, cutoff: 70+rdist(20), pan: rdist(0.25) if bools(1,1,1,1,0,0,1,0,0,1,0,0).look
          play :c2, cutoff: 130, pan: rdist(0.75) if bools(1,1,1,1,0,0,1,0,0,1,0,0).rotate(2).look
          
          sleep 0.25
        end
        
        live_loop :a2 do
          tick
          
          / soft beep /
          use_synth :beep
          use_synth_defaults release: 1
          play :c5, amp: 0.7 if spread(1,16).rotate(5).look
          play :c5-7, amp: 0.7 if spread(1,16).rotate(5).look
          
          /bass/
          k = 32
          use_synth :square
          use_synth_defaults cutoff: 70+rdist(10)
          play :c3+knit(0,k,-2,k).look, amp: 1 if (bools(1,0,1,0)+spread(0,12)+ bools(1,0,0,1)+spread(0,12)).rotate(0).look
          
          sleep 0.25
        end
        
        
        / mel /
        live_loop :a3 do
          
          tick
          use_synth :saw
          use_synth_defaults release: line(0.2,0.5,steps: 16).mirror.look, cutoff: line(90, 120,steps: 32).mirror.look
          
          / mel mixer/
          k = 32
          mel = 32
          melcase = knit(1,mel, 1,mel, 0,mel).look
          melcase = 1
          
          case melcase
          when 0
          when 1
            play :c4+knit(0,k, 2,k*0.5, 3,k*0.25, 5,k*0.25).look + [0,0,0,0,0,0,12].look, pan: rdist(1) if spread(3,5).look
          end
          sleep 0.25
        end
        
      end
    end
  end
end


2 Likes

I love the idea of using noise as a percussion instrument.

1 Like