The piece is by an anonymous Czech compozer dates from around 1725.
This version for harp is converted from a midi file by Lory Werths. I had to split it into 6 parts to accommodate overlapping tied notes, an d I added some pan separation which made it more interesting.
#CzechAnonGigue1Circa1725.rb
##arranged for Sonic Pi by Robin Newman, May 2023
#from a midi file by Lory Werth
use_synth :pluck
use_bpm 175
with_fx :reverb,room: 0.8,mix: 0.5 do
a1=[:r,:r,:A4,:r,:A4,:r,:E4,:r,:A4,:B4,:r,:Gs4,:r,:Cs5,:D5,:r,:B4,:r,:r,:A4,:r,:A4,:r,:A4,:r,:A4,:r,:E4,:r,:A5,:r,:r,:Fs5,:r,:r,:E5,:r,:r,:D5,:r,:r,:Cs5,:r,:r,:B4,:r,:r,:A4,:B4,:r,[:A4,:Ds5],[:Gs4,:B4,:E5],:r,:r,:r,:r,:Cs5,:r,:r,:B4,:r,:r,:A4,:r,:A4,:r,:A4,:r,:A4,:r,:E4,:r,:A5,:r,:r,:Fs5,:r,:r,:E5,:r,:r,:D5,:r,:r,:Cs5,:r,:r,:B4,:r,:r,:A4,:B4,:r,[:A4,:Ds5],[:Gs4,:B4,:E5],:r,:r,:r,:B4,:r,:r,:r,:r,:r,[:Cs5,:Es5],:r,:r,:Es5,:r,:A5,:r,:r,:r,:A4,:B4,:r,:Cs5,:Ds5,:r,:E5,:B4,:E4,:Cs6,:r,:A5,:r,:Fs5,:r,:D5,:r,:B4,:r,:B4,:E5,:Gs4,:A4,:Gs4,:Gs4,:A4,:A4,:r,:Gs4,:r,:Gs4,:Gs4,:r,:r,:r,:r,[:Cs5,:Es5],:r,:r,:Es5,:r,:A5,:r,:r,:r,:A4,:B4,:r,:Cs5,:Ds5,:r,:E5,:B4,:E4,:Cs6,:r,:A5,:r,:Fs5,:r,:D5,:r,:B4,:r,:B4,:E5,:Gs4,:A4,:Gs4,:Gs4,:A4,:A4,:r,:r]
b1=[3.0,0.5,1.0,0.5,1.0,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,0.5,1.0,1.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,1.5,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,0.5,0.5,1.0,0.5,1.5,1.5,6.0,3.0,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,1.5,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,0.5,0.5,1.0,0.5,1.5,1.5,3.0,0.5,1.0,1.5,6.0,3.0,1.5,1.0,0.5,3.0,0.5,1.0,1.0,2.0,1.5,3.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.16666667,0.16666667,0.16666667,1.0,0.5,1.5,0.5,1.0,1.5,1.5,1.5,6.0,3.0,1.5,1.0,0.5,3.0,0.5,1.0,1.0,2.0,1.5,3.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.16666667,0.16666667,0.16666667,1.0,0.5,3.0,1.5,3.0]
in_thread do
for i in 0..a1.length-1
play a1[i],pan: 0.3
sleep b1[i]
end
end
a2=[:r,:A4,:r,:A4,:Fs4,:Fs4,:D4,:r,:r,:Cs5,:r,:r,:Fs4,:r,:B4,:Cs5,:r,:E4,:r,:Cs4,:r,:E4,:r,:B3,:r,:B4,:Gs4,:r,:D4,:r,:B3,:r,:A5,:E5,:r,:Cs4,:r,:Fs5,:G5,:r,:B3,:r,:E5,:Fs5,:r,:A3,:r,:D5,:E5,:r,:Gs3,:r,:Cs5,:D5,:r,:Fs3,:r,:B4,:Cs5,:Fs3,:r,:r,:r,:r,:r,:B4,:r,:Gs4,:r,:Cs5,:D5,:r,:Fs4,:r,:B4,:Cs5,:r,:E4,:r,:Cs4,:r,:E4,:r,:B3,:r,:B4,:Gs4,:r,:D4,:r,:B3,:r,:A5,:E5,:r,:Cs4,:r,:Fs5,:G5,:r,:B3,:r,:E5,:Fs5,:r,:A3,:r,:D5,:E5,:r,:Gs3,:r,:Cs5,:D5,:r,:Fs3,:r,:B4,:Cs5,:Fs3,:r,:r,:r,:r,:A4,:r,:E4,:r,:B4,:Cs5,:r,:r,:r,:Fs5,[:D5,:Gs5],:r,:Es5,:r,:Fs5,:Gs5,:r,:Gs5,:Fs5,:r,:D5,:r,:B4,:r,:Gs4,:Cs4,:A3,:E3,:r,:r,:r,:r,:B3,:r,:Gs4,:A4,:r,:E4,:r,:B4,:Cs5,:r,:r,:r,:Fs5,[:D5,:Gs5],:r,:Es5,:r,:Fs5,:Gs5,:r,:Gs5,:Fs5,:r,:D5,:r,:B4,:r,:Gs4,:Cs4,:A3,:E3,:r,:r,:r,:r]
b2=[0.5,1.0,0.5,1.0,1.5,1.5,1.5,1.5,0.5,1.0,1.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,3.0,6.0,1.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,3.0,1.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,6.0,6.0,0.5,0.5,0.5,1.0,0.5,1.5,0.5,1.0,0.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,1.5,1.5,1.5,1.5,6.0,6.0,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,6.0,6.0,0.5,0.5,0.5,1.0,0.5,1.5,0.5,1.0,0.5,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,1.5,1.5,1.5,1.5,6.0,6.0,6.0]
in_thread do
for i in 0..a2.length-1
play a2[i],pan: 0.2
sleep b2[i]
end
end
a3=[:A4,:Gs4,:A4,:E4,:r,:E4,:r,:Cs4,:r,:A4,:Fs4,:A4,:A4,:Gs4,:Gs4,:Fs4,:Fs4,:Fs4,:Ds4,:E3,:r,:E5,:Cs4,:Cs4,:D4,:D4,:Cs4,:Cs4,:B3,:B3,:A3,:A3,:Gs3,:Gs3,:r,:r,:r,:A4,:A4,:Gs4,:Gs4,:Fs4,:Fs4,:Fs4,:Ds4,:E3,:r,:E5,:Cs4,:Cs4,:D4,:D4,:Cs4,:Cs4,:B3,:B3,:A3,:A3,:Gs3,:Gs3,:r,:r,:Gs4,:Gs4,:r,:r,:r,:A4,:Fs3,:B4,:r,:r,:r,:r,:r,:E4,:E4,:r,:B4,:r,:r,:r,:r,:A4,:Fs3,:B4,:r,:r,:r,:r,:r,:r]
b3=[1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,1.0,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,0.5,1.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,6.0,6.0,3.0,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,0.5,1.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,6.0,3.0,1.5,1.5,6.0,6.0,3.0,1.0,2.0,1.5,1.5,3.0,6.0,6.0,6.0,1.5,1.5,0.5,1.0,1.5,6.0,6.0,3.0,1.0,2.0,1.5,1.5,3.0,6.0,6.0,6.0,6.0]
in_thread do
for i in 0..a3.length-1
play a3[i],amp: 0.8,pan: 0.3
sleep b3[i]
end
end
a4=[:r,:r,:r,:Gs4,:r,:r,:Fs4,:r,:r,:E4,:r,:r,:r,:r,:A3,:r,:r,:B3,:r,:r,:A3,:r,:r,:Gs3,:r,:r,:Fs3,:r,:r,:E3,:r,:Gs3,:r,:Cs5,:Fs3,:E3,:E4,:r,:r,:A4,:r,:A4,:r,:A4,:Fs4,:r,:r,:r,:E4,:r,:r,:r,:r,:A3,:r,:r,:B3,:r,:r,:A3,:r,:r,:Gs3,:r,:r,:Fs3,:r,:r,:E3,:r,:Gs3,:r,:Cs5,:Fs3,:E3,:E4,:r,:Gs4,:r,:r,:r,:D5,:r,:D5,:r,:Cs5,:r,:r,:Gs5,:r,:r,:Es5,:r,:r,:Cs5,:B3,:r,:Fs5,:B4,:r,:r,:A4,:r,:E5,:Fs4,:r,:Cs5,:D4,:r,:A4,:B3,:r,:Gs3,:r,:Fs3,:r,:r,:E5,:r,:B5,:Cs5,:r,:Gs5,:A4,:r,:E5,:Fs4,:r,:Cs5,:D4,:r,:A4,:D4,:E3,:r,:E4,:r,:r,:r,:Fs4,:r,:r,:A4,:r,:D5,:r,:D5,:r,:Cs5,:r,:r,:Gs5,:r,:r,:Es5,:r,:r,:Cs5,:B3,:r,:Fs5,:B4,:r,:r,:A4,:r,:E5,:Fs4,:r,:Cs5,:D4,:r,:A4,:B3,:r,:Gs3,:r,:Fs3,:r,:r,:E5,:r,:B5,:Cs5,:r,:Gs5,:A4,:r,:E5,:Fs4,:r,:Cs5,:D4,:r,:A4,:D4,:E3,:r,:E4,:r,:r]
b4=[6.0,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,3.0,6.0,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,3.0,0.5,1.0,0.5,1.0,0.5,1.0,1.5,3.0,1.5,1.0,0.5,3.0,6.0,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,0.5,1.0,1.5,3.0,0.5,1.0,0.5,1.0,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,0.5,0.5,0.5,0.5,0.5,3.0,1.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,1.5,1.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,1.5,1.0,0.5,1.5,1.5,1.0,0.5,1.5,1.0,0.5,0.5,1.0,0.5,1.0,0.5,1.0,1.5,0.5,1.0,1.5,0.5,1.0,1.5,0.5,0.5,0.5,0.5,0.5,0.5,3.0,1.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,1.0,0.5,1.5,1.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,1.5,1.0,0.5,1.5,6.0]
in_thread do
for i in 0..a4.length-1
play a4[i],amp: 0.8,pan: -0.3
sleep b4[i]
end
end
a5=[:r,:r,:r,:r,:r,:r,:r,:r,:A3,:r,:r,:A4,:r,:A4,:Fs4,:Fs4,:r,:E4,:r,:A4,:Gs4,:r,:r,:Fs4,:r,:r,:r,:r,:r,:r,:A3,:r,:r,:B3,:r,:Gs4,:Fs4,:r,:r,:A4,:r,:A4,:r,:E4,:r,:E3,:r,:Cs5,:A5,:r,:Gs3,:r,:Gs5,:Fs5,:r,:Gs3,:r,:Es5,:B3,:A3,:Cs3,:r,:r,:Gs4,:E4,:Cs4,:r,:D5,:B4,:Gs4,:E4,:Cs4,:r,:A3,:r,:r,:A4,:r,:E4,:r,:E3,:r,:Cs5,:A5,:r,:Gs3,:r,:Gs5,:Fs5,:r,:Gs3,:r,:Es5,:B3,:A3,:Cs3,:r,:r,:Gs4,:E4,:Cs4,:r,:D5,:B4,:Gs4,:E4,:Cs4,:r,:A3,:r]
b5=[6.0,6.0,6.0,6.0,6.0,6.0,6.0,1.5,1.5,3.0,0.5,1.0,0.5,1.0,1.5,1.5,1.0,0.5,0.5,0.5,0.5,1.5,1.0,0.5,6.0,6.0,6.0,6.0,6.0,1.5,1.5,3.0,1.0,0.5,0.5,0.5,0.5,1.5,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,3.0,1.5,1.5,1.5,1.5,6.0,1.5,1.5,1.5,1.5,1.5,1.5,3.0,6.0,1.0,0.5,1.0,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.5,1.5,3.0,1.5,1.5,1.5,1.5,6.0,1.5,1.5,1.5,1.5,1.5,1.5,3.0,6.0]
in_thread do
for i in 0..a5.length-1
play a5[i],amp: 0.8,pan: -0.2
sleep b5[i]
end
end
a6=[:r,:r,:r,:r,:r,:r,:r,:r,:A4,:Gs4,:A4,:E4,:r,:E4,:r,:Cs4,:D4,:r,:r,:r,:r,:r,:r,:r,:r,:E4,:E4,:r,:B4,:Gs4,:A3,:A3,:B3,:B3,:Cs4,:Cs4,:r,:r,:r,:r,:r,:r,:B4,:Gs4,:A3,:A3,:B3,:B3,:Cs4,:Cs4,:r,:r,:r,:r,:r,:r]
b6=[6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,1.0,0.5,1.0,0.5,1.0,0.5,1.0,0.5,1.5,1.5,3.0,6.0,6.0,6.0,6.0,6.0,6.0,1.5,1.5,3.0,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,6.0,6.0,6.0,6.0,6.0,6.0,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,6.0,6.0,6.0,6.0,6.0,6.0]
in_thread do
for i in 0..a6.length-1
play a6[i],amp: 0.8,pan: -0.3
sleep b6[i]
end
end
end#reverb