well i was going to try something with one of the others you posted but this just pulled me in.
the dream became a nightmare, i don’t know anything about music; apologies
use_debug false
# INITIALIZE
use_bpm 70
live_loop :transposer do
set :t, knit(0,96, 28.5,12, -12.333,6, 12,18,
28+quantise(rrand(-0.8,1),0.2),24,
-12,5, 0.4,dice*3, 7,5).tick
puts get[:t]
sleep 0.125
end
live_loop :randomizr do
use_random_seed knit(0,1, 1,2, 3,5, 8,13, 21,34).tick
sleep 24
end
sample :misc_burp, rate: 0.75
live_loop :snapr do
if one_in 4
sample [:perc_bell, :elec_blip, :elec_blip2].look, amp: 2,
rate: quantise(rrand(-0.2,0.8),0.1)+0.01 end
density [1,1,3].tick do
sample :perc_snap, rate: [0.6, -0.65, 1].look
sleep 0.75 end
end
with_fx :eq, low: 3 do
with_fx :reverb, mix: 0.7 do
live_loop :bd do
sample [:drum_heavy_kick, :bd_ada].tick
sleep 1
sample :bd_fat, amp: [0,0,0,1,0].look
sleep 0.5
end end end
sleep 3
# AUTOMATION
lfo0 = (line 70, 100, inclusive: true, steps: 16).mirror
lfo1 = (line 0.8, 0.99, inclusive: true, steps: 32).mirror
lfo2 = (line 120, 60, inclusive: true, steps: 4).mirror
lfo3 = (line 120, 100, inclusive: true, steps: 8)
lfo4 = (line 1, 10, inclusive: true, steps: 16).mirror
lfo5 = (line -0.5, 0.5, inclusive: true, steps: 16).mirror
with_fx :nrlpf do |lpf|
live_loop :bass do
use_transpose get[:t]
tick
control lpf,
cutoff: lfo0.look(offset: (ring 0, choose([-1,1])*dice(3), -2).look),
cutoff_slide: 0.1*dice(8)
use_synth :chipbass
##| play (octs :e1, 3).look
sleep (knit 0.75,5, 0.25,13, 0.5,6).look
end
end
with_fx :pan do |pan|
with_fx :nrlpf do |lpf|
live_loop :upper do
use_transpose get[:t]
tick
control lpf, cutoff: lfo2.look, res: lfo1.look, mix: choose([0.1, 0.8])
control pan, pan: lfo5.look
use_synth :chipbass
play (octs (knit :e3, 3, :gs3, 5, :as3, 4).look, 3).look
sleep knit(0.25,6, 0.5,6, 0.75,3).look
end
end
end
with_fx :autotuner, note: :e3 do |formant|
with_fx :eq, high: -3 do
live_loop :melody, sync: :bass do
use_transpose get[:t]
tick
control formant, formant_ratio: lfo4.look
use_synth :chipbass
play (octs (knit :e2, 6, choose([:gs4, :gs6]), 3, :as5, 3).look, 4).look
sleep knit(0.5,6, 0.25,3, 0.75,6).look
end
end end
sleep 12
with_fx :gverb, mix: 0.25 do
with_fx :distortion do
live_loop :sn do
use_sample_defaults amp: 1
12.times do
sample :elec_snare, rate: [1.02,0.98,1.01].look
sleep [0.23,0.27].tick
end
sleep 3
4.times do
sample :elec_snare
sleep 0.25 end
sleep 1
8.times do
sample :elec_snare, rate: 1.2
sleep 0.125 end
sleep 8
end
end end
with_fx :eq, mid: 1, high: 0.75 do
live_loop :cy do
3.times do
sample :drum_cymbal_closed, finish: 0.2
sleep 1 end
sample :drum_splash_soft, amp: 1.2, rate: 0.8
sleep 6
9.times do
sample :drum_cymbal_pedal, amp: 2, finish: 0.5
sleep 0.5 end
density [1,1,4].tick do
sample :drum_splash_hard, amp: 2
sleep 3 end
sleep 9
end end
at 18 do
with_fx :echo, phase: 1, decay: 3, max_phase: 5 do
live_loop :chronie do
density [5,3].tick do
sample :misc_crow, amp: 5,
start: rrand(0,0.01), finish: 0.15,
rate: choose([-1,1]) * 0.8 + rrand(-0.02,0.05)
sleep 0.65 end
sleep 0.1
5.times do
sample :misc_crow, amp: (halves 5,10).look
sleep 3
end
sleep [12, 18, 9].look
end end
end