# 240928 2202 A big mix in Sonic Pi with surfskate YT
# Saved 240928 2202
# https://youtu.be/LBGArms2_Co
# https://in-thread.sonic-pi.net/t/a-big-mix-in-sonic-pi-with-surfskate-yt/9225
/ Manual mixer with "global variabel" and CASE /
$drums = 1 # 0-1 0 1 1 0 1 1 0
$loop_beep_BigReverb = 1 # 0-3 0 0 0 3 0 0 1
$melshort = 2 # 0-3 1 1 1 2 3 3 1
$bass = 2 # 0-3 1 1 3 2 3 3 2 1
$bass_note = 0 #0 12 12+7 12-2 24 24-7 24-5 0 0 12 24 24 12 0
/auto mixer with define/
define :auto_mixer do |a,b,c,d,e|
$drums = a # 0-1
$loop_beep_BigReverb = b # 0-3
$melshort = c # 0-3
$bass = d # 0-3
$bass_note = e # 0 12 12+7 12-2 24 24-7 24-5
end
live_loop :my_auto_mixer do
tick
a = 32
my_auto_mixer = knit(1,a, 2,a, 3,a, 4,a, 5,a, 6,a, 7,a, 8,a, 9,a ,10,a, 11,a, 12,a, 13,a, 14,a, 15,a, 16,a, 17,a, 18,a, 19, a, 20,a, 21,a).ramp.look
puts 'my_auto_mixer =', my_auto_mixer if spread(1,a).look
#my_auto_mixer = 0 # Manuel auto_mixer
case my_auto_mixer
when 0
auto_mixer(0,0,0,0,0)
when 1
auto_mixer(0,0,1,1,0)
when 2
auto_mixer(1,0,1,1,0)
when 3
auto_mixer(1,0,1,3,0)
when 4
auto_mixer(1,0,1,3,12)
when 5
auto_mixer(0,3,2,2,24)
when 6
auto_mixer(1,0,3,3,12)
when 7
auto_mixer(1,0,3,3,0)
when 8
auto_mixer(0,0,3,3,0)
when 9
auto_mixer(0,0,3,2,0)
when 10
auto_mixer(0,0,1,2,0)
when 11
auto_mixer(0,1,1,2,0)
when 12
auto_mixer(0,1,1,1,0)
when 13
auto_mixer(0,0,0,3,0)
when 14
auto_mixer(1,0,0,3,0)
when 15
auto_mixer(1,0,2,3,12-5)
when 16
auto_mixer(0,0,1,1,0)
when 17
auto_mixer(0,0,0,1,0)
when 18
auto_mixer(0,0,0,1,12)
when 19
auto_mixer(0,0,0,1,24)
when 20
auto_mixer(0,0,0,1,36)
when 21
auto_mixer(0,0,0,1,48)
end
sleep 0.25
end
set_volume! 2
class SonicPi::Core::RingVector
def r(n)
self.rotate(n)
end
end
define :s do |a,b|
spread(a,b)
end
use_bpm 130
with_fx :reverb, room: 0.4 do
live_loop :drums do
tick
drums = $drums
case drums
when 0
when 1
sample :bd_fat, amp: 4 if s(1,4).look
end
sleep 0.25
end
with_fx :reverb, room: 0.9 do
live_loop :mel_loog_beep do
tick
loop_beep_BigReverb = $loop_beep_BigReverb
case loop_beep_BigReverb
when 0
when 1
play :a4, amp: 1.25, release: 0.2 if s(1,12*2).look
when 2
play :a4, amp: 1.25, release: 0.2 if s(1,12*2).look
#play :a4, amp: 2, release: 0.2 if s(1,12*2).r(6).look
play :a4+12, amp: 1, release: 0.2 if s(1,12*2).r(8).look
when 3
play :a4, amp: 1.25, release: 0.2 if s(1,12*2).look
play :a4, amp: 1.25, release: 0.2 if s(1,12*2).r(6).look
play :a4+12, amp: 1, release: 0.2 if s(1,12*2).r(8).look
end
sleep 0.25
end
end
live_loop :melshort do
tick
use_synth :saw
use_synth_defaults cutoff: [70,80,90,100,110].choose-20, release: [0,0,0.1,0.2,0.4,0].look+0.1
melshort = $melshort
case melshort
when 0
when 1
play :a5, amp: 2 if s(2,knit(6,16,7,1).look).r(2).look and (s(0,6)*3+s(6,6)*2).reverse.look
# play :a6, amp: 2 if s(2,knit(6,16,7,1).look).r(1).look and (s(0,6)*3+s(6,6)*2).look
when 2
#play :a5, amp: 2 if s(2,knit(6,16,7,1).look).r(2).look and (s(0,6)*3+s(6,6)*2).reverse.look
play :a6, amp: 2 if s(2,knit(6,16,7,1).look).r(1).look and (s(0,6)*3+s(6,6)*2).look
when 3
play :a5, amp: 2 if s(2,knit(6,16,7,1).look).r(2).look and (s(0,6)*3+s(6,6)*2).reverse.look
play :a6, amp: 2 if s(2,knit(6,16,7,1).look).r(1).look and (s(0,6)*3+s(6,6)*2).look
end
sleep 0.25
end
live_loop :bass do
tick
use_synth :prophet
bass = $bass
case bass
when 0
when 1
/ release /
r = 0.2
s = r+0.2
t = r+0.6
/ cutoff /
d = 90
e = d+5
f = d+10
g = d+20
/notes/
a = :a2+$bass_note
b = a-2
c = a+1
/ top /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look
# play [a,b,c,c,a,a,a,b,].look+12, pan: rdist(0.25) if s(5,6).look
/ bass /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look-20
play [a,b,c,c,a,a,a,b,].look-12, amp: 2.5 if s(5,6).look
when 2
/ release /
r = 0.2
s = r+0.2
t = r+0.6
/ cutoff /
d = 90
e = d+5
f = d+10
g = d+20
/notes/
a = :a2+$bass_note
b = a-2
c = a+1
/ top /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look
play [a,b,c,c,a,a,a,b,].look+12, pan: rdist(0.25) if s(5,6).look
/ bass /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look-20
#play [a,b,c,c,a,a,a,b,].look-12, amp: 2.5 if s(5,6).look
when 3
/ release /
r = 0.2
s = r+0.2
t = r+0.6
/ cutoff /
d = 90
e = d+5
f = d+10
g = d+20
/notes/
a = :a2+$bass_note
b = a-2
c = a+1
/ top /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look
play [a,b,c,c,a,a,a,b,].look+12, pan: rdist(0.25) if s(5,6).look
/ bass /
use_synth_defaults release: [r,r,s,t,s,s,r,r,t].look, cutoff: [d,e,f,g,e,e,d,d].look+knit(-20,16, -10,16, 0, 32).look-20
play [a,b,c,c,a,a,a,b,].look-12, amp: 2.5 if s(5,6).look
end
sleep 0.25
end
end
1 Like