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