Created
June 6, 2018 14:48
-
-
Save rbnpi/664f47ab49cb312ff828ca8ce3179595 to your computer and use it in GitHub Desktop.
Bach's Suite in D major BWV 1068 2nd movement arranged for Sonic Pi (Air on a G string) Listen to it here https://youtu.be/qnzlH02SSqU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#BWV1068 arranged for Sonic Pi by Robin Newman, June 2018 | |
#play it using run_file "path/to/file/BWV2018mix.rb" | |
s=0 #set starting tempo index Used for adjusting final rit timings,set to 1 | |
with_fx :level,amp: 0.8 do | |
with_fx :reverb, room: 0.6,mix: 0.7 do | |
use_synth :tri | |
#Tune part | |
a1=[] | |
b1=[] | |
a1[0]=[:Fs4,:B4,:G4,:Fs4,:E4,:D4,:Cs4,:D4,:Cs4,:B3,:A3,:A4,:Fs4,:C4,:B3,:E4,:Ds4,:A4,:G4,:G4,:E4,:B3,:A3,:D4,:Cs4,:G4,:Fs4,:Fs4,:Gs4,:A4,:D4,:D4,:E4,:Fs4,:E4,:E4,:D4,:Cs4,:B3,:B3,:Cs4,:D4,:Cs4,:B3,:A3,:Fs4,:B4,:G4,:Fs4,:E4,:D4,:Cs4,:D4,:Cs4,:B3,:A3,:A4,:Fs4,:C4,:B3,:E4,:Ds4,:A4,:G4,:G4,:E4,:B3,:A3,:D4,:Cs4,:G4,:Fs4,:Fs4,:Gs4,:A4,:D4,:D4,:E4,:Fs4,:E4,:E4,:D4,:Cs4,:B3,:B3,:Cs4,:D4,:Cs4,:B3,:A3,:Cs4,:D4,:Cs4,:B3,:Cs4,:A3,:A4,:C4,:B3,:B4,:A4,:G4,:G4,:Fs4,:G4,:Fs4,:G4,:r,:Fs4,:E4,:D4,:Cs4,:B3,:As3,:B3,:Cs4,:D4,:E4,:Fs4,:G4,:Fs4,:E4,:D4,:Cs4,:B3,:Cs4,:D4,:E4,:D4,:Cs4,:B3,:D4,:Fs4,:E4,:D4,:B4,:A4,:Gs4,:Fs4,:E4,:A4,:A3,:B3,:Cs4,:D4,:Cs4,:B3,:A3,:D4,:Fs4,:E4,:E4,:G4,:Fs4,:Fs4,:A4,:G4,:G4,:A3,:Cs4,:E4,:G4,:G4,:E4,:Fs4,:Fs4,:G4,:A4,:D4,:Fs4,:A4,:C5,:B4,:D4,:Cs4,:E4,:G4,:D4,:A3,:E4,:Fs4,:G4,:Fs4,:E4,:D4,:Cs4,:B3,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:E4,:D4,:Cs4,:D4,:Cs4,:B3,:Cs4,:A3,:A4,:C4,:B3,:B4,:A4,:G4,:G4,:Fs4,:G4,:Fs4,:G4,:r,:Fs4,:E4,:D4,:Cs4,:B3,:As3,:B3,:Cs4,:D4,:E4,:Fs4,:G4,:Fs4,:E4,:D4,:Cs4,:B3,:Cs4,:D4,:E4,:D4,:Cs4,:B3,:D4,:Fs4,:E4,:D4,:B4,:A4,:Gs4,:Fs4,:E4,:A4,:A3,:B3,:Cs4,:D4,:Cs4,:B3,:A3,:D4,:Fs4,:E4,:E4,:G4,:Fs4,:Fs4,:A4,:G4,:G4,:A3,:Cs4,:E4,:G4,:G4,:E4,:Fs4,:Fs4,:G4,:A4,:D4,:Fs4,:A4,:C5,:B4,:D4,:Cs4,:E4,:G4,:D4,:A3,:E4,:Fs4,:G4,:Fs4,:E4] | |
b1[0]=[4.5,0.25,0.25,0.041666668,0.20833334,0.25,0.25,0.25,1.0,0.25,0.75,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.5,0.25,0.25,0.5,0.125,0.125,0.5,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.75,0.25,0.25,2.0,4.5,0.25,0.25,0.041666668,0.20833334,0.25,0.25,0.25,1.0,0.25,0.75,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.5,0.25,0.25,0.5,0.125,0.125,0.5,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.75,0.25,0.25,2.0,1.25,0.125,0.125,0.125,0.125,0.25,1.5,0.5,0.5,0.75,0.25,0.25,0.0625,0.0625,0.0625,0.0625,1.0,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.5,0.5,1.5,1.25,0.25,0.25,0.25,1.5,0.25,0.25,0.041666668,0.20833334,0.25,0.5,0.75,0.125,0.125,0.75,0.25,1.0,1.5,0.25,0.25,1.5,0.25,0.25,1.5,0.25,0.25,2.0,1.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.125,0.125,1.25,0.25,0.25,0.25,1.5,0.5,0.25,0.25,1.0,0.5,0.5,0.25,0.125,0.375,0.5,0.25,0.125,0.125,0.5,0.25,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.0625,0.125,0.125,2.0,1.25,0.125,0.125,0.125,0.125,0.25,1.5,0.5,0.5,0.75,0.25,0.25,0.0625,0.0625,0.0625,0.0625,1.0,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.5,0.5,1.5,1.25,0.25,0.25,0.25,1.5,0.25,0.25,0.041666668,0.20833334,0.25,0.5,0.75,0.125,0.125,0.75,0.25,1.0,1.5,0.25,0.25,1.5,0.25,0.25,1.5,0.25,0.25,2.0,1.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.125,0.125,1.25,0.25,0.25,0.25,1.5,0.5,0.25,0.25,1.0,0.5,0.5,0.25,0.125,0.375,0.5,0.25] | |
a1[1]=[:D4] | |
b1[1]=[0.125] | |
a1[2]=[:Cs4] | |
b1[2]=[0.125] | |
a1[3]=[:B3] | |
b1[3]=[0.5] | |
a1[4]=[:Cs4] | |
b1[4]=[0.25] | |
a1[5]=[:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4] | |
b1[5]=[0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125] | |
a1[6]=[:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:Cs4,:D4,:E4] | |
b1[6]=[0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.03125,0.125,0.125] | |
a1[7]=[:D4] | |
b1[7]=[2.0] | |
c1=[34,33,32,31,28,27,23,22] | |
in_thread do | |
for i in s..a1.length-1 | |
use_bpm c1[i] | |
for j in 0..a1[i].length-1 | |
play a1[i][j],sustain: b1[i][j]*0.9,release: b1[i][j]*0.1,amp: 0.5 | |
sleep b1[i][j] | |
end | |
end | |
end | |
end #reverb | |
end #level | |
#accompanying piano parts | |
use_synth :piano | |
use_synth_defaults vel: 0.19,hard: 0.4,spread: 0.5#adjust piano synth settings | |
#fx calls to set smooth blended output. Lots of settings possible. I liked this one | |
with_fx :normaliser,level: 0.3,pre_mix: 0.7 do | |
with_fx :level,amp: 0.5 do | |
with_fx :reverb,room: 0.8,mix: 0.3 do | |
r=1 # setting for piano release time multiplier | |
a2=[] | |
b2=[] | |
a2[0]=[:D5,:r,:r,:r,[:E4,:B4],[:B4,:E5],:D5,:E5,:Fs5,:G5,:E5,[:E4,:A4],:r,:A4,:r,:Gs4,:r,:D5,[:E4,:B4],:A4,[:Ds4,:C5],:B4,:C5,:E4,:A5,:C5,[:Fs4,:B4],:r,[:E4,:B4],[:B4,:E5],:D5,:E5,:Fs5,:G5,:E5,[:E4,:A4],:r,:A4,:r,[:E4,:A4],[:Fs4,:A4],:B3,[:E4,:Gs4],[:A3,:E4],:A4,:B4,[:Ds4,:C5],:E4,:Fs4,:B4,:A4,:G4,:Fs4,:G4,:A4,:Fs4,:Ds4,[:B4,:Ds5],[:B4,:E5],:B3,:Cs4,:D4,:E4,:Fs4,:G4,:Fs4,:G4,:E4,[:Fs4,:E5],:D5,[:E4,:Cs5],[:D4,:B4],[:Cs4,:As4],:B4,[:Fs4,:Cs5],[:Fs4,:B4],[:E4,:B4],:D4,[:G4,:B4],[:Fs4,:As4],:E4,[:D4,:Fs4],[:B3,:E4],:B4,:A4,:Gs4,:A4,[:B3,:Gs4],:E4,:Fs4,[:E4,:Gs4],:A4,:B4,:Gs4,[:E4,:B4],[:E4,:A4],:Fs4,[:E4,:Gs4],[:E4,:A4],:D4,:Cs4,:D4,:E4,:Cs4,[:A3,:A4],[:D4,:B4],:C5,[:G4,:B4],:Cs5,:D5,[:E4,:Cs5],:B4,:Cs5,:Ds5,:E5,[:Fs4,:Ds5],:Cs5,:Ds5,:E5,:Fs5,:Ds5,:E5,:B4,:E4,:B4,:G4,:E4,[:E4,:A4],:Cs4,[:E4,:G4],:A4,[:Fs4,:Cs5],[:E4,:A4],:D4,:Cs5,:D5,:A4,[:E4,:G4],[:Fs4,:A4],:D4,:E4,:B3,[:E4,:B4],:G4,[:B4,:E5],:A4,:G4,:Fs4,:E4,:D5,[:A4,:Cs5],:B4,:A4,[:G4,:B4],[:Fs4,:A4],[:E4,:G4],:Fs4,[:Cs4,:G4],[:A3,:Fs4],:A4,:B4,[:Ds4,:C5],:E4,:Fs4,:B4,:A4,:G4,:Fs4,:G4,:A4,:Fs4,:Ds4,[:B4,:Ds5],[:B4,:E5],:B3,:Cs4,:D4,:E4,:Fs4,:G4,:Fs4,:G4,:E4,[:Fs4,:E5],:D5,[:E4,:Cs5],[:D4,:B4],[:Cs4,:As4],:B4,[:Fs4,:Cs5],[:Fs4,:B4],[:E4,:B4],:D4,[:G4,:B4],[:Fs4,:As4],:E4,[:D4,:Fs4],[:B3,:E4],:B4,:A4,:Gs4,:A4,[:B3,:Gs4],:E4,:Fs4,[:E4,:Gs4],:A4,:B4,:Gs4,[:E4,:B4],[:E4,:A4],:Fs4,[:E4,:Gs4],[:E4,:A4],:D4,:Cs4,:D4,:E4,:Cs4,[:A3,:A4],[:D4,:B4],:C5,[:G4,:B4],:Cs5,:D5,[:E4,:Cs5],:B4,:Cs5,:Ds5,:E5,[:Fs4,:Ds5],:Cs5,:Ds5,:E5,:Fs5,:Ds5,:E5,:B4,:E4,:B4,:G4,:E4,[:E4,:A4],:Cs4,[:E4,:G4],:A4,[:Fs4,:Cs5],[:E4,:A4],:D4,:Cs5,:D5,:A4,[:E4,:G4],[:Fs4,:A4],:D4,:E4,:B3,[:E4,:B4],:G4,[:B4,:E5],:A4,:G4,:Fs4,:E4,:D5,[:A4,:Cs5],:B4,:A4,[:G4,:B4]] | |
b2[0]=[5.0,1.0,2.0,4.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,3.0,0.5,0.5,4.0,5.0,1.0,2.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,3.0,1.0,0.5,0.5,0.5,0.5,2.0,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.5,0.25,0.25,2.0,0.5,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.75,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,1.5,0.5,1.0,2.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,1.0,0.25,0.25,0.5,2.0,2.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.5,0.25,0.25,2.0,0.5,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.75,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,1.5,0.5,1.0,2.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5] | |
a2[1]=[[:Fs4,:A4]] | |
b2[1]=[1.03] #bodge timings for rit. | |
a2[2]=[[:E4,:G4]] | |
b2[2]=[1.1] #bodge timings for rit. | |
a2[3]=[[:A3,:D4,:Fs4]] | |
b2[3]=[2.0] | |
c2=[34,33,27,20] | |
in_thread do | |
for i in s..a2.length-1 | |
r2=r | |
r2=2 if i>0 #adjust release multiplier for ending | |
use_bpm c2[i] | |
for j in 0..a2[i].length-1 | |
play a2[i][j],sustain: b2[i][j]*0.9,release: b2[i][j]*r2 | |
sleep b2[i][j] | |
end | |
end | |
end | |
a3=[] | |
b3=[] | |
a3[0]=[:r,:r,:r,:r,:r,:r,:r,:B4,:B3,:r,:E4,:r,:r,:r,:r,:r,:r,:E4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:B4,:r,:r,:r,:r,:r,:D4,:r,:r,:r,:r,:r,:E4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:B4,:r,:r,:r,:r,:r,:D4,:r,:r,:r,:r] | |
b3[0]=[4.0,4.0,4.0,4.0,4.0,4.0,2.0,2.0,1.0,1.0,2.5,0.5,2.0,1.0,4.0,4.0,4.0,2.25,0.25,0.5,1.0,4.0,4.0,4.0,4.0,4.0,1.0,0.5,1.0,0.5,1.0,4.0,2.0,1.0,1.5,0.5,1.0,2.0,4.0,4.0,2.25,0.25,0.5,1.0,4.0,4.0,4.0,4.0,4.0,1.0,0.5,1.0,0.5,1.0,4.0,2.0,1.0,1.5,0.5,1.0,2.0,4.0] | |
a3[1]=[:r] | |
b3[1]=[4.0] | |
c3=[34,33] | |
in_thread do | |
for i in s..a3.length-1 | |
use_bpm c3[i] | |
for j in 0..a3[i].length-1 | |
play a3[i][j],sustain: b3[i][j]*0.9,release: b3[i][j]*r | |
sleep b3[i][j] | |
end | |
end | |
end | |
a4=[] | |
b4=[] | |
a4[0]=[:A4,:B4,:B3,[:E4,:B4],:A4,[:Ds4,:C5],:B4,:C5,:E4,:A5,:C5,[:Fs4,:B4],:r,:r,:D4,:r,[:E4,:Gs4],:Fs4,[:D4,:Gs4],:A4,[:B3,:B4],:E4,[:Fs4,:A4],:B3,[:E4,:Gs4],[:A3,:E4],:A4,:r,:r,:r,:r,:D4,:r,[:E4,:Gs4],:Fs4,[:D4,:Gs4],:A4,[:B3,:B4],[:E4,:Gs4],:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:G4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:G4,:r,:r] | |
b4[0]=[2.0,2.0,1.0,1.0,2.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,4.0,1.0,0.5,0.5,0.5,0.25,0.25,0.5,1.0,0.5,0.5,0.5,2.0,2.0,2.0,4.0,4.0,4.0,1.0,0.5,0.5,0.5,0.25,0.25,0.5,0.5,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,3.0,1.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,3.0,1.0,2.0] | |
a4[1]=[:r] | |
b4[1]=[4.0] | |
c4=[34,33] | |
in_thread do | |
for i in s..a4.length-1 | |
use_bpm c4[i] | |
for j in 0..a4[i].length-1 | |
play a4[i][j],sustain: b4[i][j]*0.9,release: b4[i][j]*r | |
sleep b4[i][j] | |
end | |
end | |
end | |
a5=[] | |
b5=[] | |
a5[0]=[:r,:r,:E4,:r,:r,:r,:r,:r,:A4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r] | |
b5[0]=[4.0,2.0,2.5,0.5,1.0,2.0,4.0,4.0,0.5,0.5,1.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0] | |
a5[1]=[:r] | |
b5[1]=[4.0] | |
c5=[34,33] | |
in_thread do | |
for i in s..a5.length-1 | |
use_bpm c5[i] | |
for j in 0..a5[i].length-1 | |
play a5[i][j],sustain: b5[i][j]*0.9,release: b5[i][j]*r | |
sleep b5[i][j] | |
end | |
end | |
end | |
a6=[] | |
b6=[] | |
a6[0]=[:D3,:D4,:Cs4,:Cs3,:B2,:B3,:A3,:A2,:G2,:G3,:Gs3,:Gs2,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:Ds2,:Ds3,:B2,:B3,:E2,:E3,:D3,:D2,:Cs2,:Cs3,:A2,:A3,:r,:D4,:r,:A3,:D3,:E3,:E2,:A2,:B2,:Cs3,:D3,:E3,:G3,:Fs3,:E3,:D3,:D4,:Cs4,:Cs3,:B2,:B3,:A3,:A2,:G2,:G3,:Gs3,:Gs2,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:Ds2,:Ds3,:B2,:B3,:E2,:E3,:D3,:D2,:Cs2,:Cs3,:A2,:A3,:r,:D4,:r,:A3,:D3,:E3,:E2,:A2,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:Ds2,:Ds3,:Fs3,:B2,:E3,:E4,:D4,:D3,:Cs3,:Cs4,:B3,:B2,:As2,:B2,:Cs3,:As2,:B2,:G3,:E3,:Fs3,:B2,:B3,:A3,:A2,:Gs2,:Gs3,:Fs3,:Fs2,:E2,:E3,:D3,:D2,:Cs2,:Cs3,:D3,:E3,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:G3,:G2,:Gs2,:Gs3,:A3,:A2,:As2,:As3,:B3,:B2,:E3,:E4,:D4,:D3,:Cs3,:Cs4,:A3,:Cs4,:D4,:D3,:Cs3,:Cs4,:B3,:B2,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:D2,:D3,:Cs3,:A2,:D3,:G3,:A3,:G3,:A3,:A2,:D3,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:Ds2,:Ds3,:Fs3,:B2,:E3,:E4,:D4,:D3,:Cs3,:Cs4,:B3,:B2,:As2,:B2,:Cs3,:As2,:B2,:G3,:E3,:Fs3,:B2,:B3,:A3,:A2,:Gs2,:Gs3,:Fs3,:Fs2,:E2,:E3,:D3,:D2,:Cs2,:Cs3,:D3,:E3,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:G3,:G2,:Gs2,:Gs3,:A3,:A2,:As2,:As3,:B3,:B2,:E3,:E4,:D4,:D3,:Cs3,:Cs4,:A3,:Cs4,:D4,:D3,:Cs3,:Cs4,:B3,:B2,:A2,:A3,:G3,:G2,:Fs2,:Fs3,:E3,:E2,:D2,:D3,:Cs3,:A2,:D3,:G3] | |
b6[0]=[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.5,2.0,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.5,2.0,0.5,0.5,0.5,0.5,2.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,2.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5] | |
a6[1]=[:A3] #rit starts | |
b6[1]=[0.5] | |
a6[2]=[:G3] | |
b6[2]=[0.5] | |
a6[3]=[:A3] | |
b6[3]=[0.5] | |
a6[4]=[:A2] | |
b6[4]=[0.5] | |
a6[5]=[:D2] | |
b6[5]=[2.0] | |
c6=[34,33,30,27,23,20] | |
in_thread do | |
for i in s..a6.length-1 | |
use_bpm c6[i] | |
for j in 0..a6[i].length-1 | |
play a6[i][j],sustain: b6[i][j]*0.9,release: b6[i][j]*r | |
sleep b6[i][j] | |
end | |
end | |
end | |
a7=[] | |
b7=[] | |
a7[0]=[:r,:r,:r,:r,:D3,:Cs4,:Cs3,:B2,:B3,:Gs3,:E3,:r,:r,:r,:r,:r,:D3,:Cs4,:Cs3,:B2,:B3,:Gs3,:E3,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r] | |
b7[0]=[4.0,4.0,4.0,4.0,1.0,0.5,0.5,0.5,0.5,0.5,0.5,4.0,4.0,4.0,4.0,4.0,1.0,0.5,0.5,0.5,0.5,0.5,0.5,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0] | |
a7[1]=[:r] | |
b7[1]=[4.0] | |
c7=[34,33] | |
in_thread do | |
for i in s..a7.length-1 | |
r7=r #adjust release multiplier for ending | |
r7=2 if i>1 | |
use_bpm c7[i] | |
for j in 0..a7[i].length-1 | |
play a7[i][j],sustain: b7[i][j]*0.9,release: b7[i][j]*r7,amp: 0.5 | |
sleep b7[i][j] | |
end | |
end | |
end | |
end #reverb | |
end #normalizer | |
end #level |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment