Hugo de Lantins music from about 1420-1430

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

4 Likes