Thank you!!
Astonishing classics in a very compact format.
In my opinion it sounds good as well
solo with the synths :pretty_bell, :blade or :rodeo
or in a mixed arrangement (although this is just brute force by attempt)
as below.
Unfortunately we do not have ok horn or organ synths within Sonic PI as a default.
BTW synth :kalimba does seem to have strange defaults (very low amplification)
#OydUnaCosa.rb Oyd, oyd una cosa by Francisco Guerrero 1589
#coded for Sonic Pi by Robin newman October 2021
use_bpm 150
use_synth :pretty_bell
use_synth_defaults attack: 0.08
s=0.9;r=0.4
with_fx :reverb, room: 0.7,mix: 0.6 do
with_fx :level,amp: 0.5 do
a1=[:G4,:C5,:C5,:C5,:r,:B4,:D5,:D5,:D5,:E5,:E5,:E5,:D5,:D5,:G5,:G5,:F5,:E5,:E5,:D5,:D5,:r,:r,:r,:B4,:C5,:C5,:A4,:B4,:C5,:G4,:C5,:B4,:A4,:B4,:D5,:E5,:F5,:G5,:E5,:F5,:E5,:D5,:D5,:Cs5,:D5,:D5,:r,:G5,:F5,:E5,:G5,:C5,:E5,:F5,:E5,:A4,:G4,:A4,:B4,:C5,:B4,:C5,:C5,:r,:C5,:B4,:A4,:C5,:F4,:G4,:A4,:B4,:C5,:A4,:B4,:B4,:r,:G5,:F5,:E5,:G5,:C5,:C5,:C5,:C5,:C5,:C5,:D5,:D5,:E5,:E5,:E5,:C5,:C5,:C5,:D5,:E5,:D5,:E5,:r,:r,:C5,:F5,:E5,:C5,:D5,:E5,:D5,:C5,:G5,:F5,:E5,:G5,:F5,:E5,:F5,:D5,:E5,:D5,:C5,:D5,:E5,:C5,:D5,:C5,:B4,:A4,:A4,:G4,:G4,:G4,:C5,:C5,:C5,:r,:B4,:D5,:D5,:D5,:E5,:E5,:E5,:D5,:D5,:G5,:G5,:F5,:E5,:E5,:D5,:D5,:r,:r,:r,:B4,:C5,:C5,:A4,:B4,:C5,:G4,:C5,:B4,:A4,:B4,:D5,:E5,:F5,:G5,:E5,:F5,:E5,:D5,:D5,:Cs5,:D5,:D5,:r,:G5,:F5,:E5,:G5,:C5,:E5,:F5,:E5,:A4,:G4,:A4,:B4,:C5,:B4,:C5,:C5,:r,:C5,:B4,:A4,:C5,:F4,:G4,:A4,:B4,:C5,:A4,:B4,:B4,:r,:G5,:F5,:E5,:G5,:C5,:C5,:C5,:C5,:C5,:C5,:D5,:D5,:E5,:E5]
b1=[2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,2.0,0.5,0.5,2.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,3.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,2.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,1.0,3.0,1.5,0.5,0.5,0.5,1.0,2.0,1.5,0.5,1.0,1.0,1.0,1.0,3.0,3.0,1.0,1.0,0.5,0.5,1.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,2.0,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,1.0,0.5,0.5,1.0,1.0,1.0,1.5,0.5,1.0,1.5,0.5,3.0,3.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,2.0,0.5,0.5,2.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,3.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,2.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1.0,1.0,3.0,1.5,0.5,0.5,0.5,1.0,2.0,1.5,0.5,1.0,1.0,1.0,1.0,3.0,3.0]
in_thread do
for j in 0..a1.length-1
play a1[j],sustain: b1[j]*s,release: b1[j]*r,pan: -0.7,amp: 0.7
sleep b1[j]
end
end
a2=[:r,:r,:r,:G4,:B4,:B4,:C5,:r,:C5,:B4,:B4,:B4,:D5,:C5,:C5,:B4,:r,:B4,:C5,:C5,:C5,:B4,:G4,:A4,:B4,:r,:D5,:E5,:E5,:C5,:D5,:E5,:C5,:D5,:B4,:C5,:D5,:B4,:C5,:C5,:C5,:B4,:A4,:A4,:A4,:A4,:D5,:C5,:B4,:D5,:G4,:C5,:B4,:A4,:C5,:B4,:C5,:C5,:C5,:D5,:C5,:G4,:r,:r,:r,:D5,:C5,:B4,:D5,:G4,:B4,:B4,:C5,:G5,:F5,:E5,:G5,:C5,:E5,:F5,:E5,:C5,:B4,:C5,:C5,:C5,:A4,:A4,:A4,:B4,:C5,:A4,:B4,:G4,:C5,:A4,:A4,:G4,:A4,:B4,:C5,:B4,:C5,:E5,:D5,:C5,:E5,:D5,:C5,:D5,:B4,:B4,:A4,:G4,:A4,:B4,:A4,:A4,:B4,:G4,:G4,:Fs4,:G4,:G4,:r,:r,:r,:G4,:B4,:B4,:C5,:r,:C5,:B4,:B4,:B4,:D5,:C5,:C5,:B4,:r,:B4,:C5,:C5,:C5,:B4,:G4,:A4,:B4,:r,:D5,:E5,:E5,:C5,:D5,:E5,:C5,:D5,:B4,:C5,:D5,:B4,:C5,:C5,:C5,:B4,:A4,:A4,:A4,:A4,:D5,:C5,:B4,:D5,:G4,:C5,:B4,:A4,:C5,:B4,:C5,:C5,:C5,:D5,:C5,:G4,:r,:r,:r,:D5,:C5,:B4,:D5,:G4,:B4,:B4,:C5,:G5,:F5,:E5,:G5,:C5,:E5,:F5,:E5,:C5,:B4,:C5,:C5]
b2=[4.0,4.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,2.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,3.0,3.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,2.0,1.0,3.0,3.0,1.0,1.0,0.5,0.5,1.0,2.0,2.0,1.0,1.0,1.0,1.5,0.5,0.5,0.5,0.5,1.0,0.5,2.0,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,3.0,3.0,4.0,4.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,2.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,3.0,3.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,2.0,1.0,3.0,3.0]
in_thread do
for j in 0..a2.length-1
play a2[j],sustain: b2[j]*s,release: b2[j]*r,pan: -0.5,amp: 0.7
sleep b2[j]
end
end
a3=[:r,:C4,:G4,:G4,:G4,:r,:D4,:C4,:E4,:G4,:r,:G4,:G4,:A4,:A4,:G4,:G4,:r,:G4,:G4,:A4,:F4,:G4,:G4,:Fs4,:G4,:r,:G4,:C4,:C4,:F4,:D4,:C4,:C4,:G4,:G4,:G4,:A4,:G4,:G4,:A4,:G4,:G4,:F4,:E4,:D4,:D4,:r,:G4,:F4,:E4,:G4,:C4,:E4,:F4,:C4,:D4,:C4,:F4,:G4,:A4,:G4,:C4,:C4,:E4,:D4,:C4,:E4,:A3,:C4,:D4,:C4,:C4,:D4,:G3,:G3,:r,:G4,:G4,:E4,:G4,:G4,:G4,:A4,:G4,:A4,:G4,:G4,:G4,:C4,:F4,:F4,:F4,:D4,:C4,:F4,:E4,:r,:C4,:F4,:D4,:F4,:C4,:C4,:G4,:C4,:r,:r,:G4,:F4,:E4,:G4,:F4,:E4,:F4,:E4,:F4,:D4,:G4,:G3,:D4,:D4,:G3,:G3,:r,:C4,:G4,:G4,:G4,:r,:D4,:C4,:E4,:G4,:r,:G4,:G4,:A4,:A4,:G4,:G4,:r,:G4,:G4,:A4,:F4,:G4,:G4,:Fs4,:G4,:r,:G4,:C4,:C4,:F4,:D4,:C4,:C4,:G4,:G4,:G4,:A4,:G4,:G4,:A4,:G4,:G4,:F4,:E4,:D4,:D4,:r,:G4,:F4,:E4,:G4,:C4,:E4,:F4,:C4,:D4,:C4,:F4,:G4,:A4,:G4,:C4,:C4,:E4,:D4,:C4,:E4,:A3,:C4,:D4,:C4,:C4,:D4,:G3,:G3,:r,:G4,:G4,:E4,:G4,:G4,:G4,:A4,:G4,:A4,:G4,:G4,:G4]
b3=[4.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.5,0.5,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,1.5,0.5,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,3.0,6.0,1.0,1.0,0.5,0.5,1.0,2.0,2.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,2.0,2.0,3.0,3.0,1.5,0.5,0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,3.0,3.0,4.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.5,0.5,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,1.0,1.5,0.5,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,3.0,6.0]
in_thread do
use_synth :rodeo
for j in 0..a3.length-1
play a3[j],sustain: b3[j]*s,release: b3[j]*r,pan: 0.7,amp: 0.7
sleep b3[j]
end
end
a4=[:r,:r,:G3,:G4,:G4,:G4,:C4,:D4,:D4,:D4,:D4,:A3,:C4,:D4,:r,:D4,:E4,:E4,:C4,:D4,:E4,:C4,:D4,:r,:r,:r,:D4,:G3,:D4,:D4,:C4,:A3,:C4,:G3,:A3,:B3,:C4,:D4,:E4,:A3,:A3,:A3,:r,:r,:r,:r,:r,:G4,:F4,:E4,:G4,:C4,:E4,:F4,:E4,:D4,:E4,:G4,:G4,:D4,:C4,:B3,:D4,:G3,:G3,:C4,:C4,:E4,:E4,:E4,:C4,:E4,:D4,:C4,:C4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:G3,:G4,:G4,:G4,:C4,:D4,:D4,:D4,:D4,:A3,:C4,:D4,:r,:D4,:E4,:E4,:C4,:D4,:E4,:C4,:D4,:r,:r,:r,:D4,:G3,:D4,:D4,:C4,:A3,:C4,:G3,:A3,:B3,:C4,:D4,:E4,:A3,:A3,:A3,:r,:r,:r,:r,:r,:G4,:F4,:E4,:G4,:C4,:E4,:F4,:E4,:D4,:E4,:G4,:G4,:D4,:C4,:B3,:D4,:G3,:G3,:C4,:C4,:E4,:E4,:E4,:C4,:E4,:D4,:C4,:C4]
b4=[4.0,4.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,4.0,4.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,1.0,3.0,3.0,3.0,3.0,3.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,4.0,4.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,4.0,4.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,1.0,3.0,3.0,3.0,3.0,3.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,3.0,3.0]
in_thread do
use_synth :chiplead
for j in 0..a4.length-1
play a4[j],sustain: b4[j]*s,release: b4[j]*r,pan: 0.5,amp: 0.7
sleep b4[j]
end
end
a5=[:r,:r,:r,:G3,:C4,:C4,:C4,:C3,:G3,:G3,:G3,:D3,:F3,:C3,:G3,:r,:G3,:C4,:A3,:A3,:G3,:C4,:A3,:G3,:r,:r,:r,:G3,:E3,:D3,:G3,:C3,:F3,:C3,:D3,:E3,:F3,:G3,:D3,:A3,:A3,:D3,:D3,:r,:r,:r,:r,:r,:r,:r,:C4,:B3,:A3,:C4,:F3,:A3,:Bf3,:A3,:G3,:A3,:G3,:r,:G3,:F3,:E3,:G3,:C3,:C3,:r,:C4,:B3,:A3,:C4,:F3,:C3,:C3,:G3,:C3,:C3,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:G3,:C4,:C4,:C4,:C3,:G3,:G3,:G3,:D3,:F3,:C3,:G3,:r,:G3,:C4,:A3,:A3,:G3,:C4,:A3,:G3,:r,:r,:r,:G3,:E3,:D3,:G3,:C3,:F3,:C3,:D3,:E3,:F3,:G3,:D3,:A3,:A3,:D3,:D3,:r,:r,:r,:r,:r,:r,:r,:C4,:B3,:A3,:C4,:F3,:A3,:Bf3,:A3,:G3,:A3,:G3,:r,:G3,:F3,:E3,:G3,:C3,:C3,:r,:C4,:B3,:A3,:C4,:F3,:C3,:C3,:G3,:C3,:C3]
b5=[4.0,4.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,4.0,4.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,2.0,1.0,3.0,3.0,3.0,3.0,3.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,0.5,0.5,1.0,2.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,4.0,4.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,4.0,4.0,4.0,4.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0,2.0,1.0,3.0,3.0,3.0,3.0,3.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,0.5,0.5,1.0,2.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,3.0,3.0]
in_thread do
for j in 0..a5.length-1
play a5[j],sustain: b5[j]*s,release: b5[j]*r,amp: 0.7
sleep b5[j]
end
end
end #level
end #fx
Glad you like it. I also played around with various synths for this. It sounds good with quite a few. There are also one or two new synths coming with SP 4.0b which I have tried.
It is pretty easy to convert this to output midi and then you can easily use external synths from say qsynth
Whith which? Chiplead alone seems a bit a waste of your effort?
Do you recommend an arrangment?
Personally I quite like the effect with chiplead. Although the piece is originally for singers, I think that a somewhat reedy sound maybe akin to what a crumhorn might produce is appropriate for this era.
I have also experimented with various synth sounds using the vital synth where it is easy to produce a wide range of timbre. (I export the notes as a midi stream from Sonic Pi for this.