CaBoJamVerde - Looking for drumbeat(s) to add?

Still looking for music based on fibonacci cycles using fibonacci numbers for the sleep cycles…what I need is a fibonacci (drum)beat added to the code…who has some nice ‘beats’ to add?

# 20180506_Sunday_v?


fibo = 1.618034

fibodiv = 1/fibo

fibobpm = 55/fibodiv

use_bpm fibobpm

kickBasePitch = fibodiv

#The Sync Loop Biet

live_loop :biet do
  sleep 1
end

#Syna-start

live_loop :syna1, sync: :biet do
  
  
  use_synth [:fm,:dark_ambience, :blade, :piano].choose
  use_synth_defaults amp: rrand(1.5,2.2), attack: rrand(0.5,8), release: rrand(1.5,5)
  a = rrand_i(2,8)
  a.times do
    
    with_fx :gverb, phase: rrand(2,6), mix: rrand(0.01,0.5) do
      play [:C4, :Eb4, :r, :G4, :Bb4].ring.tick, pan: rrand(-0.95, 0.95)
      sleep [fibo,fibodiv,fibodiv,fibodiv].choose
    end
    sleep [5,8,13,21,34].choose
  end
end


sleep 3



#The Repeating Melody

live_loop :fibobass1, sync: :biet do
  use_octave rrand(-fibo,fibodiv)
  #t = Time.now.to_i + rrand_i(-fibobpm, fibobpm)
  t = rrand_i(-13,21)
  use_random_seed t
  puts "Seed: #{t}"
  
  z = [21,34,55].choose
  n = ((chord :c, :m7) + [z]).sort
  v = (line fibodiv, fibo).reflect
  p = (line -fibodiv, fibodiv, steps: fibobpm).reflect
  
  8.times do
    with_fx :distortion, room: rrand(0,fibodiv), mix: rrand(0,fibodiv) do
      s1 = synth :dark_ambience, note: n.tick(:n), attack: [fibo, fibodiv].choose, release: [fibo, fibodiv].choose, amp: v.tick, pan: p.look, cutoff: rrand(fibobpm-dice, fibobpm+dice)
      s2 = synth :hollow, note: n.tick(:n), attack: [fibo, fibodiv].choose, release: [fibo,fibodiv].choose, amp: v.tick, pan: p.look, cutoff: rrand(fibobpm-dice, fibobpm+dice), noise: [0,1,2,3,4].choose, ring: [rrand(0.1, 50), rrand(0.1, 50), rrand(0.1, 50)].choose
      control s1, amp: v.tick, amp_slide: [fibodiv, fibo].choose, pan: p.look, pan_slide: fibodiv, depth: rrand(fibodiv,fibo), depth_slide: rrand(fibodiv,fibo)
      control s2, amp: v.tick, amp_slide: [fibodiv, fibo].choose, pan: p.look, pan_slide: fibodiv, depth: rrand(fibodiv,fibo), depth_slide: rrand(fibodiv,fibo)
    end
    sleep fibo
  end
  sleep [5,8,13,21,34].choose
end

sleep 16

live_loop :fibobass2, sync: :biet do
  use_octave rrand(-fibo,fibodiv)
  #t = Time.now.to_i + rrand_i(-fibobpm, fibobpm)
  t = rrand_i(-13,21)
  use_random_seed t
  puts "Seed: #{t}"
  
  z = [21,34,55].choose
  n = ((chord :c, :m7) + [z]).sort
  v = (line fibodiv, fibo).reflect
  p = (line -fibodiv, fibodiv, steps: fibobpm).reflect
  
  13.times do
    with_fx :reverb, room: rrand(0,fibodiv), mix: rrand(0,fibodiv) do
      s1 = synth :hollow, note: n.tick(:n), attack: [fibo, fibodiv].choose, release: [fibo, fibodiv].choose, amp: v.tick, pan: p.look, cutoff: rrand(fibobpm-dice, fibobpm+dice)
      s2 = synth :dark_ambience, note: n.tick(:n), attack: [fibo, fibodiv].choose, release: [fibo,fibodiv].choose, amp: v.tick, pan: p.look, cutoff: rrand(fibobpm-dice, fibobpm+dice), noise: [0,1,2,3,4].choose, ring: [rrand(0.1, 50), rrand(0.1, 50), rrand(0.1, 50)].choose
      control s1, amp: v.tick, amp_slide: [fibodiv, fibo].choose, pan: p.look, pan_slide: fibodiv, depth: rrand(fibodiv,fibo), depth_slide: rrand(fibodiv,fibo)
      control s2, amp: v.tick, amp_slide: [fibodiv, fibo].choose, pan: p.look, pan_slide: fibodiv, depth: rrand(fibodiv,fibo), depth_slide: rrand(fibodiv,fibo)
    end
    sleep fibo
  end
  sleep [5,8,13,21,34].choose
end

sleep 8

live_loop :ambiento1, sync: :biet do
  n = dice+8
  
  n.times do
    t = Time.now.to_i
    use_random_seed t+dice
    puts "Time: #{t}"
    z = [13,21,34,55,89].choose
    n = ((chord :c, :m7) + [z]).sort
    v = (line 0.21, 1, steps: 89).reflect
    p = (line -0.89, 0.89, steps: 89).reflect
    with_fx :reverb, room: 0.89, mix: rrand(0,1) do
      s = synth :blade, note: n.tick(:n), attack: [1,1.5,0.5,0,0,0,2].choose, release: [0.5,0.5,0.5,2,1,4].choose, amp: v.tick, pan: p.look, depth: 0.1, divisor: 1
      control s, amp: v.tick, amp_slide: 0.25, pan: p.look, pan_slide: 0.25, depth: 2, depth_slide: 1.5
    end
    sleep [0.5,0.8,0.13,0.21,0.34,0.55,0.89,fibo,fibodiv].choose
  end
  sleep [5,8,13,21,34].choose
end

sleep 8


#The Beat Structure - Chaos



#The Drum Section - FiBoStyle


live_loop :hihat, sync: :biet do
  a = rrand_i(2,8)
  a.times do
    with_fx [:reverb,:ixi_techno,:echo].choose do
      sample :drum_cymbal_closed
      sleep [fibo,fibodiv].choose
      sample :drum_cymbal_pedal
    end
    sleep [fibo,fibodiv].choose
    
  end
  sleep [5,8,13,21,34].choose
end

live_loop :fmsound1, sync: :biet do
  a = rrand_i(2,8)
  a.times do
    with_fx [:reverb,:ixi_techno,:flanger].choose do
      use_synth :fm
      play (chord :C2, :major).choose, attack: 0.13, release: 0.55, cutoff: rrand(55, 89)
    end
    sleep [fibo,fibodiv].choose
    
  end
  sleep [5,8,13,21,34].choose
end

sleep 8

live_loop :bladesound, sync: :biet do
  a = rrand_i(2,8)
  a.times do
    with_fx [:reverb,:ixi_techno,:echo].choose do
      use_synth :blade
      play (chord :C3, :major).choose, attack: 0.13, release: 0.89, cutoff: rrand(55, 89), amp: rrand(0.5,1.5)
    end
    sleep [fibo,fibodiv].choose
    
  end
  sleep [8,13,21,34].choose
end

#Beathaus

sleep 8

live_loop :beathaus3, sync: :biet do
  a = rrand_i(2,8)
  a.times do
    with_fx [:reverb,:ixi_techno,:echo].choose do
      sample [:bd_haus, :bass_hit_c].choose, rate: rrand(0.34,0.89), cutoff: rrand(55, 89), amp: rrand(0.5,1.23)
      #sleep [0.5,0.5,0.25, 0.75, 1].choose
      sleep [fibo,fibodiv,fibodiv,fibodiv].choose
    end
  end
  sleep [5,8,13,21,34].choose
end

sleep 8

#Syna-End

live_loop :syna2, sync: :biet do
  use_synth [:fm,:prophet].choose
  use_synth_defaults amp: rrand(0.5,1.2), attack: rrand(0.5,3), release: rrand(1.5,5)
  a = rrand_i(2,8)
  a.times do
    
    
    with_fx :reverb, phase: rrand(2,6), mix: rrand(0.01,0.5) do
      play [:C4, :Eb4, :r, :G4, :Bb4].ring.tick, pan: rrand(-0.95, 0.95)
      sleep [fibo,fibodiv,fibodiv,fibodiv].choose
    end
    sleep [5,8,13,21,34].choose
  end
end

#BURP closer


live_loop :BURP1, sync: :biet do
  a = rrand_i(2,8)
  a.times do
    
    samplz = [:drum_tom_lo_soft, :perc_snap, :perc_snap2, :drum_cymbal_pedal].choose
    with_fx :rlpf do
      with_fx :distortion, mix: fibodiv do
        8.times do
          sample samplz, rate: kickBasePitch + range(-0.01, 0.01, 0.0001).mirror.tick, cutoff: fibobpm-dice, start: 0.05, finish: fibodiv, release: rrand(0.2,fibodiv), amp: rrand(0.5,fibodiv)
          sleep fibo
        end
        sleep fibo
        with_fx :reverb, room: fibodiv do
          sample [:drum_tom_lo_soft, :perc_snap, :perc_snap2, :ambi_choir, :ambi_piano].choose, amp: rrand(fibodiv,fibo)
          with_fx :distortion do
            5.times do
              3.times do
                sample samplz, hpf: fibobpm+dice, rate: 0.25 + range(0, 0.16, 0.01).mirror.tick, cutoff: fibobpm-dice, start: 0.15, finish: 0.48, release: fibodiv, amp: rrand(fibodiv,fibo)
                sleep fibo
              end
              2.times do
                sample samplz, hpf: fibobpm-dice, rate: 0.25 + [0.1, 0.16, 0.2, 0.26].choose, cutoff: fibobpm-dice, start: 0.05, finish: 0.48, release: fibodiv, amp: rrand(fibodiv,fibo)
                sleep fibo
              end
            end
            sleep fibo
          end
        end
      end
    end
    
  end
  sleep [5,8,13,21,34].choose
end

Speaking of beats based on Fibonacci number reminded me of an article from a while back written by Vijay Iyer, a jazz pianist. He talks about how subdividing using different ratios of fibonacci numbers can result in similar but slightly different feeling rhythmic patterns. I’ve been meaning to mess around with this concept in Sonic Pi. Worth a read.

This is the version of Mystic Brew he refers to in the article:

1 Like