Unfortunately I’m running into some encoder trouble and a bunch of the recorder footage didn’t turn out. It was my first time screen recording with Quicktime in awhile and I didn’t realize it became obsolete.
Still I did promise to share the code so here it is. It may have some oddly named things and maybe some unnecessary or redundant things because I typically just recycle code from older projects and don’t bother renaming anything. So if you see code that appears to do nothing then it probably doesn’t. This code relies on external sample folders so you’ll need to change the paths to wherever your loops or samples are located.
use_bpm 75
counter0 = 0
use_random_seed 8 #14 #8 #3# Welcome to Sonic Pi v3.1
#LOAD IN SAMPLE LIBRARIES
#Change to your own sample folder paths.
barretA = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/A/"
barretDrum = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Drums/"
barretBreak = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/B - Breaks/"
barretB = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/B"
barretC = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/C"
barretD = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/D"
barretE = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/E"
barretF = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/F"
barretG = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Barret Loops/G"
#AUTOMATION
line_Riser0 = (line 10, 0, inclusive: true, steps: 16)
line_Riser1 = (line 8, 0, inclusive: true, steps: 128)
line_Riser2 = (line 4, 0, inclusive: true, steps: 128)
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 0.7, 0.99, inclusive: true, steps: 4).mirror
lfo5 = (line 0.3, 0.99, inclusive: true, steps: 2).mirror
#LEVELS
#I set these to 0 if I want to mute a track and to 1 if I want it to play. Can also set in between for volume
#control.
inst0_lvl = 1
inst2_lvl = 1
inst3_lvl = 1
inst5_lvl = 1
inst6_lvl = 1
inst7_lvl = 1
inst8_lvl = 1
inst9_lvl = 1
inst10_lvl = 1
live_loop :euclid_beat2 do
if(inst0_lvl == 1)
with_fx :level, amp: inst0_lvl do
puts tick
with_fx :echo, mix: 0.8 do
sample barretA, 2, rate: 1, onset: 1, release: 0.01 if (spread 8, 16).look
end
end
end
sleep 1
end
live_loop :elevator2 do
if(inst2_lvl == 1)
with_fx :level, amp: choose([1]) do
puts tick
sample barretA, 1, rate: 1
end
end
sleep 8
end
live_loop :elevator3 do
if(inst3_lvl == 1)
with_fx :level, amp: choose([1]) do
puts tick
sample barretA, 0, rate: 1, release: 0.01
end
end
sleep 16
end
live_loop :trip do
puts tick
if(inst5_lvl == 1)
with_fx :level, amp: choose([1]) do
with_fx :slicer, phase: 2 do
with_fx :lpf, cutoff: lfo0.look, res: lfo1.look do
sample barretB, 4, rate: (ring 2, 0.5).look, onset: (ring 1,0,0,2,6,4,5, 1,0,0,7,7,8,2,0).look , release: 0.01
end
end
end
end
sleep (ring 0.5, 0.25, 0.5, 0.25).mirror.look #(ring 0.5, 0.125, 0.125,0.25)
end
live_loop :trip2 do
puts tick
if(inst6_lvl == 1)
with_fx :level, amp: choose([1]) do
sample barretA, 11, rate: (ring 2, 4).look, onset: (ring 2, 4, 4, 7).look, release: 0.01 if (spread 16, 16).look
end
end
sleep (ring 0.5, 0.25, 0.25).look #Switch between these to change pacing
#sleep (ring 0.25, 0.125, 0.125).look
end
live_loop :amen do
puts tick
if(inst7_lvl == 1)
with_fx :level, amp: choose([1]) do
sample barretC, 6, rate: 2, onset: (ring 1,0,0,2,6,4,5, 1,0,0,7,7,8,2,0).look, sustain: 0, release: 0.20 if (spread 12, 16).look
end
end
sleep 0.25
end
live_loop :elevator do
if(inst8_lvl == 1)
puts tick
sample barretE, 5, rate: 1, onset: 3, release: 0.01
end
sleep (ring 2, 0.5, 1, 0.5).mirror.look
end
live_loop :amen2 do
if(inst9_lvl == 1)
with_fx :level, amp: choose([0.8,1]) do
sample barretC, 9, rate: 2, onset: pick, sustain: 0, release: choose([0.1])
end
end
sleep 0.25
end
live_loop :amen3 do
if(inst10_lvl == 1)
puts tick
with_fx :level, amp: choose([1,1]) do
sample barretBreak, 0, rate: 1, onset: pick, sustain: 0, release: choose([0.1, 0.2])
end
end
sleep 0.125
end```