Skip to content

Instantly share code, notes, and snippets.

@rbnpi
Created May 29, 2019 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rbnpi/f17ab21789cf94bf42c62638473ec76c to your computer and use it in GitHub Desktop.
Save rbnpi/f17ab21789cf94bf42c62638473ec76c to your computer and use it in GitHub Desktop.
Bach Siciliano from Flute Sonata in Eb Major for Sonic Pi. (use run_file "path to filename") Hear it on https://soundcloud.com/user-999157198-370666210/bach-flute-siciliano
#bjs1031b-RF.rb
#attributed to J.S. Bach or C.P.E. Bach Siciliano from Flute Suite 2 BWV 1031
#transcribed for Sonic Pi by Robin Newman, May 2019
with_fx :reverb, room: 0.8,mix: 0.6 do
use_synth :tri
a1=[]
b1=[]
a1[0]=[:D5,:Ef5,:D5,:D5,:G5,:Ef5,:C5,:C5,:D5,:C5,:C5,:A5,:C5,:C5,:Bf4,:A4,:G4,:r,:Bf4,:D5,:Ef5,:C6,:Ef5,:Ef5,:D5,:F5,:Bf5,:F5,:G5,:F5,:Ef5,:D5,:C5,:F5,:A5,:C6,:Bf5,:D6,:C6,:Bf5,:A5,:G5,:F5,:Ef5,:D5,:r,:F5,:G5,:F5,:F5,:Bf5,:G5,:Ef5,:Ef5,:F5,:Ef5,:Ef5,:C6,:Ef5,:D5,:F4,:G4,:A4,:Bf4,:C5,:D5,:F5,:Bf5,:D5,:D5,:C5,:A5,:C5,:A4,:Bf4,:D5,:G5,:A5,:Bf5,:A5,:G5,:A5,:G5,:F5,:E5,:G5,:F5,:E5,:D5,:Df5,:D5,:E5,:Af5,:A5,:E5,:F5,:D5,:Df5,:D5,:E5,:Af5,:A5,:E5,:F5,:D5,:Df5,:D5,:E5,:A4,:Bf4,:D5,:Df5,:D5,:E5,:D5,:A4,:D5,:Df5,:D5,:E5,:D5,:G4,:Bf4,:A4,:G4,:F4,:E4,:F4,:D4,:r,:r,:D5,:Ef5,:D5,:D5,:G5,:Ef5,:C5,:C5,:D5,:C5,:C5,:A5,:C5,:Bf4,:G4,:A4,:Bf4,:C5,:D5,:Ef5,:F5,:Ef5,:D5,:C5,:Bf4,:A4,:Df5,:D5,:A4,:Bf4,:G4,:Fs4,:G4,:A4,:Df5,:D5,:A4,:Bf4,:G4,:Fs4,:G4,:A4,:G4,:A4,:Bf4,:C5,:D5,:Ef5,:D5,:C5,:Bf4,:D5,:C5,:Bf4,:A4,:G4,:Ef5,:C5,:Bf4,:A4,:Bf4,:A4,:G4,:D5,:Bf4,:G4,:G5,:Bf4,:r,:Bf4,:A4,:Bf4,:G5,:Bf4,:Bf4,:C5,:A4,:Bf4,:A4,:G4]
b1[0]=[0.75,0.25,0.5,0.5,0.5,0.5,3.0,0.75,0.25,0.5,0.5,0.5,0.375,0.125,0.75,0.25,0.5,1.5,0.5,0.5,1.0,0.5,0.5,0.5,1.0,0.5,0.5,1.0,0.5,1.0,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.5,1.5,0.75,0.25,0.5,0.5,0.5,0.5,3.0,0.75,0.25,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,1.5,0.5,0.75,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.5,0.75,0.25,0.75,0.25,0.25,0.25,0.25,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.5,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.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.25,0.25,0.5,1.0,1.5,3.0,0.75,0.25,0.5,0.5,0.5,0.5,3.0,0.75,0.25,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.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.125,0.0625,0.0625,0.75,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.0625,0.0625,0.875,3.0]
c1=[44]
in_thread do
for i in 0..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.6
sleep b1[i][j]
end
end
end
use_synth :pluck
a2=[]
b2=[]
a2[0]=[:Bf3,:G4,:Bf4,:G4,:Fs4,:G4,:Bf3,:G4,:Bf4,:G4,:Fs4,:G4,:A3,:C4,:Ef4,:C4,:A3,:C4,:A3,:C4,:Ef4,:C4,:A3,:C4,:A3,:D4,:A4,:Fs4,:E4,:Fs4,:D4,:A4,:C5,:A4,:D4,:A4,:r,:A4,:G4,:Fs4,:G4,:D4,:Bf3,:Ef4,:D4,:C4,:D4,:Bf3,:G3,:G4,:Bf4,:G4,:Fs4,:G4,:C4,:C5,:Ef5,:C5,:Bf4,:C5,:F4,:C5,:Bf4,:A4,:Bf4,:F4,:D4,:Bf4,:D5,:Bf4,:A4,:Bf4,:G4,:Bf4,:Ef5,:Bf4,:Af4,:Bf4,:G4,:Bf4,:C5,:A4,:Bf4,:G4,:A4,:F4,:r,:r,:F4,:A4,:C5,:Bf4,:D5,:C5,:Bf4,:A4,:G4,:F4,:Ef4,:D4,:Bf4,:D5,:Bf4,:A4,:Bf4,:D4,:Bf4,:D5,:Bf4,:A4,:Bf4,:C4,:Ef4,:G4,:Ef4,:C4,:Ef4,:C4,:Ef4,:G4,:Ef4,:C4,:Ef4,:C4,:F4,:C5,:A4,:G4,:A4,:F4,:C5,:Ef5,:C5,:F4,:C5,:Bf4,:F4,:G4,:A4,:Bf4,:C5,:D5,:Bf4,:F4,:Bf4,:Bf4,:G4,:A4,:E4,:F4,:G4,:A4,:Bf4,:C5,:A4,:D4,:A4,:Fs4,:G4,:A4,:Bf4,:C5,:D5,:D5,:G5,:F5,:E5,:D5,:C5,:C5,:F5,:E5,:D5,:C5,:Bf4,:C5,:Bf4,:A4,:G4,:F4,:E4,:Af4,:A4,:E4,:F4,:D4,:Df4,:D4,:E4,:Af4,:A4,:E4,:F4,:D4,:Df4,:D4,:E4,:A3,:r,:r,:r,:D5,:Ef5,:G5,:Fs5,:G5,:A5,:G5,:D5,:G5,:Fs5,:G5,:A5,:G5,:C5,:Ef5,:D5,:C5,:Bf4,:A4,:Bf3,:G4,:Bf4,:G4,:Fs4,:G4,:Bf3,:G4,:Bf4,:G4,:Fs4,:G4,:A3,:C4,:Ef4,:C4,:A3,:C4,:A3,:C4,:Ef4,:C4,:A3,:C4,:A3,:D4,:A4,:Fs4,:E4,:Fs4,:D4,:A4,:C5,:A4,:D4,:A4,:G4,:F4,:Ef4,:D4,:C4,:C5,:Bf4,:A4,:G4,:Fs4,:G4,:A4,:Df5,:D5,:A4,:Bf4,:G4,:Fs4,:G4,:A4,:Df5,:D5,:A4,:Bf4,:G4,:Fs4,:E4,:Fs4,:G4,:A4,:Bf4,:C5,:Bf4,:A4,:G4,:G4,:A4,:G4,:Fs4,:G4,:Fs4,:G4,:G4,:Bf4,:G4,:Fs4,:G4,:Bf3,:G4,:Bf4,:G4,:Fs4,:G4,:r,:G4,:Fs4,:G4,:Bf4,:G4,:G4,:A4,:Fs4,:G4,:Fs4,:G4]
b2[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.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.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.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.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.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,1.0,1.5,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.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.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.25,0.25,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.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,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.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.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.5,0.5,1.0,1.5,3.0,1.0,0.5,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.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.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.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,1.0,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.5,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.5,1.5,0.375,0.125,0.125,0.0625,0.0625,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.25,0.25,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.0625,0.0625,0.875,3.0]
c2=[44]
in_thread do
for i in 0..a2.length-1
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]
sleep b2[i][j]
end
end
end
a3=[]
b3=[]
a3[0]=[:G3,:G3,:G3,:G3,:Fs3,:Fs3,:G3,:G2,:G3,:A3,:Bf3,:Bf2,:Ef3,:Ef3,:E3,:F3,:G3,:A3,:F3,:A3,:Bf3,:F3,:G3,:A3,:F3,:A3,:Bf3,:Bf3,:Bf3,:Bf3,:A3,:A3,:Bf3,:Bf2,:F3,:Fs3,:G3,:G3,:C4,:F3,:Bf3,:G3,:A3,:A3,:A3,:A3,:A3,:A2,:A3,:G3,:F3,:D3,:G3,:F3,:E3,:Df3,:A2,:D3,:A3,:D4,:C4,:Bf3,:G3,:C4,:Bf3,:A3,:Fs3,:D3,:G3,:G3,:G3,:G3,:Fs3,:Fs3,:G3,:C3,:D3,:D3,:D3,:D3,:D3,:Fs2,:G2,:A2,:Bf2,:C3,:D3,:D2,:G3,:Ef3,:Df3,:D3,:D2,:G2]
b3[0]=[1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.0,0.5,1.0,0.5,1.5,1.5,1.5,1.5,1.5,0.25,0.25,0.25,0.25,0.25,0.25,1.5,1.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.5,1.5,0.5,0.5,0.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,0.5,0.5,0.5,0.5,0.5,0.5,1.5,1.5,1.5,1.0,0.5,3.0]
c3=[44]
in_thread do
for i in 0..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]
sleep b3[i][j]
end
end
end
end #reverb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment