I think it is cool to play music on Sonic PI which was written nearly 800 years ago. The song is called Helas amour, que ce qu’endure and is found on a manuscript in the Bodleian Library in Oxford.
#Song by Hugo_de_Lantins c1420-1430
#from Canonici_Misc_213
use_bpm 320
s=0.9;r=0.1 #sustain,release ratios
with_fx :reverb,room: 0.8,mix: 0.6 do
with_fx :level,amp: 0.7 do |v|
control v,amp: 1,amp_slide: 32*6
use_synth :blade
a1=[:r,:r,:G4,:A4,:G4,:F4,:D4,:A4,:Bf4,:A4,:G4,:A4,:r,:C5,:D5,:C5,:G4,:F4,:G4,:A4,:Bf4,:C5,:A4,:Bf4,:G4,:A4,:F4,:D4,:E4,:G4,:Fs4,:Fs4,:E4,:G4,:r,:r,:G4,:Bf4,:C5,:A4,:G4,:D5,:Ef5,:C5,:D5,:r,:D5,:Ef5,:D5,:C5,:Bf4,:A4,:G4,:A4,:Bf4,:C5,:Bf4,:G4,:F4,:Bf4,:Bf4,:A4,:F4,:G4,:E4,:D4,:r,:E4,:F4,:Bf4,:A4,:G4,:A4,:r,:C5,:D5,:C5,:Bf4,:G4,:Bf4,:C5,:A4,:G4,:C5,:Bf4,:A4,:Bf4,:G4,:F4,:G4,:A4,:Bf4,:C5,:A4,:A4,:D5,:C5,:C5,:Bf4,:A4,:G4,:A4,:G4,:Fs4,:G4,:E4,:G4]
b1=[2.0,2.0,2.0,4.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,2.0,1.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,1.0,1.0,1.0,6.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,2.0,4.0,2.0,2.0,2.0,2.0,2.0,4.0,2.0,4.0,2.0,2.0,1.0,1.0,4.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,2.0,2.0,4.0,2.0,4.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,0.6666667,12.0]
in_thread do
for i in 0..a1.length-1
play a1[i],sustain: b1[i]*s,release: b1[i]*r,pan: -0.5,amp: 0.8
sleep b1[i]
end
end
a2=[:r,:r,:C4,:E4,:E4,:D4,:G4,:F4,:F4,:E4,:G4,:F4,:E4,:D4,:F4,:G4,:D4,:G3,:A3,:C4,:r,:Bf3,:G3,:D4,:C4,:G3,:Bf3,:C4,:G3,:r,:D4,:C4,:Bf3,:D4,:D4,:Cs4,:D4,:r,:G3,:F3,:C4,:E4,:G4,:F4,:G4,:F4,:E4,:F4,:D4,:G4,:F4,:D4,:G4,:A4,:F4,:E4,:G4,:D4,:G3,:C4,:r,:r,:G4,:G4,:F4,:Ef4,:Bf3,:F3,:G4,:r,:r,:F4,:E4,:D4,:C4,:D4,:E4,:G4,:F4,:G4,:r,:D4,:E4,:r,:D4,:E4,:F4,:G4,:F4,:E4,:G4,:E4,:G4,:F4,:E4,:F4,:D4,:C4,:D4,:F4,:E4,:D4,:Cs4,:D4]
b2=[2.0,2.0,2.0,4.0,2.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,2.0,2.0,2.0,1.0,2.0,1.0,2.0,2.0,1.0,2.0,1.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,6.0,2.0,2.0,1.0,1.0,4.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,4.0,2.0,2.0,2.0,1.0,2.0,1.0,1.0,1.0,3.0,1.0,1.0,1.0,2.0,3.0,1.0,2.0,1.0,2.0,1.0,4.0,2.0,12.0]
in_thread do
for i in 0..a2.length-1
play a2[i],sustain: b2[i]*s,release: b2[i]*r,pan: 0.5,amp: 0.5
sleep b2[i]
end
end
a3=[:r,:r,:C4,:A3,:A3,:Bf3,:A3,:G3,:D4,:E4,:F4,:D4,:C4,:Bf3,:C4,:Ef4,:D4,:G4,:F4,:E4,:D4,:E4,:C4,:D4,:Bf3,:A3,:G3,:Bf3,:A3,:G3,:D4,:F4,:E4,:C4,:D4,:C4,:A3,:C4,:Bf3,:G3,:Bf3,:A3,:G3,:r,:G4,:G4,:F4,:Ef4,:D4,:C4,:Ef4,:D4,:C4,:G3,:Bf3,:r,:r,:A3,:Bf3,:C4,:D4,:C4,:Bf3,:G3,:C4,:Bf3,:A3,:G3,:G3,:C4,:Bf3,:A3,:D4,:C4,:Bf3,:A3,:G3]
b3=[2.0,2.0,2.0,4.0,2.0,4.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,4.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,4.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,2.0,2.0,2.0,2.0,4.0,2.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,4.0,2.0,4.0,2.0,6.0,4.0,2.0,2.0,4.0,2.0,2.0,2.0,4.0,2.0,12.0]
in_thread do
for i in 0..a3.length-1
play a3[i],sustain: b3[i]*s,release: b3[i]*r,amp: 0.5
sleep b3[i]
end
end
end #level
end #reverb