#################### Down Where the Guitars Play #####################
mn=[:r]; use_bpm 110
for jn in 1..96; mn[jn]=hz_to_midi(11*jn); end
p = [2,0,1,1]; v = [0,1.0,0,0,0.4]; m = [2,3]; o = [2,4]
d = [1,0,0,0,4,0,0,0,0,0,1,0,4,0,0,0]
c = [5,6,9,5, 5,6,9,9, 5,6,9,5, 8,9,5,5,
8,5,9,9, 8,5,9,9, 8,5,9,9, 8,9]
s = [:fm, :pretty_bell, :pluck]; e = [1.0,0.2,2.0]; l = [0.8,0.5,1.0]
for x in 0..3; play 84, release: 0.01, amp: 0.3; sleep 1; end
loop do
for x in 0..29; k = o[7/c[x]]
synth :saw, note: mn[3*c[x]], sustain: 2, release: 0, amp: 0.1
synth :saw, note: mn[k*c[x]], sustain: 2, release: 0, amp: 0.1
for y in 0..7; z = 8*(x%2)+y; r= rand_i(3); w = y%4
n = c[x]*choose(m)*(1-(y%2))*k
synth :zawa, note: mn[72], release: 0.01, amp: p[w]/8.0
synth :beep, note: mn[d[z]*12], release: 0.01, amp: v[d[z]]
synth s[r], note: mn[n]-12, cutoff: 65, release: e[r], amp: l[r]
sleep 0.25; end; end; end
4 Likes
This is nice. Will take me a bit of time to unscramble its inner workings
I’ll stick some puts statements in to figure out what’s going on with the varying values
################# T H A N K Y O U ##################
use_bpm 110 ####################### set tempo
mn=[:r] ########################### midi number 0 = rest
for jn in 1..96 ################### midi numbers for
mn[jn]=hz_to_midi(11*jn) ######## just numbers 1 - 96
end
p = [2,0,1,1] ############################ 4 count ' ride 'levels
d = [1,0,0,0,4,0,0,0,0,0,1,0,4,0,0,0] #### 2 measures drum notes
v = [0,1.0,0,0,0.4] ###################### drum levels
c = [5,6,9,5, 5,6,9,9, 5,6,9,5, 8,9,5,5, # root notes of
8,5,9,9, 8,5,9,9, 8,5,9,9, 8,9] ##### 30 measures
m = [2,3] ################################ root note first or fifth
o = [2,4] ################################ root note octive
s = [:fm, :pretty_bell, :pluck] ########## synth selection
e = [1.0, 0.2, 2.0 ] ########## synth release:
l = [0.8, 0.5, 1.0 ] ########## synth amp:
for x in 0..3; play 84,
release: 0.01, amp: 0.3; sleep 1; end# countdown
loop do
for x in 0..29 ######################### 30 measures
k = o[7/c[x]] ######################## invert diads with root > 7
###################################### first and fifth diad backround
synth :saw, note: mn[3*c[x]], sustain: 2, release: 0, amp: 0.1
synth :saw, note: mn[k*c[x]], sustain: 2, release: 0, amp: 0.1
for y in 0..7 ######################## 8 counts / measure
z = 8*(x%2)+y ###################### 16 counts / drum pattern
w = y%4 ############################ 4 counts / ride pattern
n = c[x]*choose(m)*(1-(y%2))*k ##### choose note
r= rand_i(3) ####################### choose synth
#################################### play ride , drum , synth
synth :zawa, note: mn[72], release: 0.01, amp: p[w]/8.0
synth :beep, note: mn[d[z]*12], release: 0.01, amp: v[d[z]]
synth s[r], note: mn[n]-12, cutoff: 65, release: e[r], amp: l[r]
sleep 0.25; end; end; end
1 Like
Thanks the comments make it easier to follow.