When I tried doing another early music track, I fiddled things so that for three voices the :tri synth will be dead centre. But,I don’t think my more or less randomly chosen piece from that page suits the Sonic Pi treatment as well as yours does. But, here it is. Note that it’s too big for the GUI buffer, and I had to use run_file on it.
This is * Jusques à tant que je puisse veir by Charite.
use_bpm 120
with_fx :reverb, room: 0.6,mix: 0.7 do
# Track 1
in_thread do
use_synth :saw
pan = -1.0
# Number of notes = 109
notes1 = [:a4, :g4, :a4, :b4, :c5, :c5, :b4, :a4, :g4, :f4, :e4, :d4, :d4, :e4, :c4, :d4, :e4, :f4, :g4, :a4, :g4, :f4, :d4, :e4, :d4, :cs4, :d4, :a4, :a4, :c5, :as4, :a4, :g4, :f4, :e4, :b4, :a4, :a4, :gs4, :a4, :a4, :a4, :g4, :f4, :e4, :e4, :d4, :c4, :f4, :e4, :d4, :c4, :e4, :e4, :a3, :b3, :c4, :d4, :as3, :a3, :e4, :c4, :d4, :e4, :f4, :e4, :d4, :cs4, :d4, :a4, :a4, :c5, :as4, :a4, :a4, :g4, :e4, :c5, :as4, :a4, :g4, :f4, :f4, :e4, :f4, :d4, :f4, :a4, :b4, :c5, :b4, :b4, :a4, :a4, :g4, :a4, :as4, :a4, :f4, :d4, :e4, :f4, :f4, :e4, :d4, :d4, :cs4, :b3, :d4]
amps1 = [0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63]
sustains1 = [3.51, 1.48, 1.11, 0.37, 0.74, 1.48, 0.74, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.11, 0.37, 1.11, 0.37, 1.48, 1.11, 0.37, 0.74, 1.48, 1.48, 0.74, 2.22, 0.74, 1.48, 1.48, 1.48, 1.48, 1.48, 1.48, 0.74, 1.11, 0.37, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.48, 1.48, 1.48, 1.48, 0.74, 1.48, 0.74, 0.74, 0.74, 2.22, 0.74, 0.74, 0.74, 0.74, 0.74, 1.48, 0.74, 1.48, 1.11, 0.37, 0.74, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.11, 0.37, 0.74, 0.74, 1.48, 1.11, 0.37, 0.74, 1.11, 0.37, 0.74, 0.74, 0.37, 0.37, 2.22, 1.11, 0.37, 1.11, 0.37, 0.37, 0.37, 0.74, 1.11, 0.37, 0.74, 0.74, 1.48, 0.74, 0.37, 0.37, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 4.43]
sleeps1 = [0.0, 3.6923039999999996, 1.8461519999999996, 1.384614, 0.461538, 0.9230759999999991, 1.846152, 0.923076, 1.846152, 0.923076, 0.923076, 1.8461519999999982, 4.615380000000002, 0.9230759999999982, 1.846152, 1.846152, 1.3846139999999991, 0.4615380000000009, 1.3846139999999991, 0.4615380000000009, 1.846152, 1.3846139999999991, 0.46153799999999734, 0.9230760000000018, 1.8461520000000036, 1.8461519999999965, 0.9230760000000018, 4.615380000000002, 0.9230759999999947, 1.8461520000000036, 1.8461519999999965, 1.8461520000000036, 1.8461519999999965, 1.8461520000000036, 1.8461519999999965, 0.9230760000000018, 1.3846139999999991, 0.46153799999999734, 0.9230760000000018, 1.8461520000000036, 4.615379999999995, 0.9230759999999947, 1.8461520000000036, 1.8461520000000036, 1.8461520000000036, 1.8461519999999894, 1.8461520000000036, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 0.9230759999999947, 0.9230760000000089, 0.9230759999999947, 4.615380000000002, 0.9230759999999947, 0.9230760000000089, 0.9230759999999947, 0.9230759999999947, 0.9230760000000089, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 1.3846139999999991, 0.46153799999999023, 0.9230760000000089, 1.8461519999999894, 0.9230760000000089, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 1.8461520000000036, 1.8461520000000036, 1.3846139999999991, 0.46153799999999023, 0.9230760000000089, 0.9230759999999947, 1.8461520000000036, 1.3846139999999991, 0.46153800000000444, 0.9230759999999947, 1.3846139999999991, 0.46153800000000444, 0.9230759999999947, 0.9230759999999947, 0.46153800000000444, 0.46153800000000444, 3.692303999999993, 1.3846139999999991, 0.46153799999999023, 1.3846139999999991, 0.46153800000001866, 0.46153799999999023, 0.46153800000001866, 0.9230759999999805, 1.3846139999999991, 0.46153800000001866, 0.9230759999999805, 0.9230760000000089, 1.8461519999999894, 0.9230760000000089, 0.46153799999999023, 0.46153800000001866, 0.9230759999999805, 0.9230760000000089, 0.9230760000000089, 0.9230759999999805, 0.9230760000000089, 0.9230760000000089]
(notes1.length-1).times do |i|
sleep sleeps1[i]
play notes1[i], sustain: sustains1[i], pan: pan, amp: amps1[i]
end
end
# Track 2
in_thread do
use_synth :tri
pan = 0.0
# Number of notes = 88
notes2 = [:d4, :c4, :a3, :e3, :f3, :c4, :b3, :g3, :f3, :d3, :d3, :a3, :d3, :d3, :a3, :e4, :b3, :c4, :d4, :c4, :a3, :b3, :a3, :gs3, :a3, :d4, :c4, :f4, :d4, :c4, :a3, :f3, :d3, :a3, :d3, :g3, :a3, :e3, :f3, :f3, :d3, :d3, :a3, :c4, :gs3, :a3, :c4, :b3, :a3, :b3, :g3, :f3, :d3, :a3, :d4, :c4, :b3, :a3, :b3, :a3, :gs3, :a3, :d3, :d3, :f3, :f3, :c3, :g3, :c3, :e4, :f4, :d4, :c4, :as3, :c4, :c4, :f3, :c3, :g3, :f3, :c4, :b3, :c4, :b3, :a3, :b3, :gs3, :a3]
amps2 = [0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63]
sustains2 = [1.48, 0.74, 0.74, 1.48, 1.48, 1.48, 0.74, 0.74, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.48, 3.51, 1.11, 0.37, 0.74, 1.48, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.48, 1.48, 0.74, 0.74, 1.48, 0.74, 0.74, 0.74, 0.74, 1.48, 2.22, 0.74, 3.51, 1.48, 1.48, 1.48, 1.48, 0.74, 1.48, 0.74, 1.48, 2.22, 0.74, 0.74, 1.48, 1.48, 0.74, 3.51, 1.48, 0.74, 1.48, 0.74, 1.48, 2.22, 0.74, 0.74, 1.48, 0.74, 0.74, 0.74, 3.51, 1.48, 0.74, 1.48, 0.74, 1.48, 2.22, 1.48, 1.48, 1.48, 1.48, 0.74, 3.32, 0.74, 0.74, 1.48, 0.74, 0.74, 0.74, 4.43]
sleeps2 = [0.0, 1.8461519999999998, 0.9230759999999998, 0.923076, 1.8461519999999996, 1.846152, 1.8461519999999991, 0.923076, 0.923076, 1.846152, 0.923076, 0.923076, 1.8461519999999982, 4.615380000000002, 0.9230759999999982, 1.846152, 1.846152, 1.846152, 3.692304, 1.3846139999999991, 0.46153799999999734, 0.9230760000000018, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 1.8461520000000036, 1.8461519999999965, 1.8461520000000036, 1.8461519999999965, 0.9230760000000018, 0.9230760000000018, 1.8461519999999965, 0.9230760000000018, 0.9230760000000018, 0.9230759999999947, 0.9230760000000018, 1.8461520000000036, 4.615379999999995, 0.9230759999999947, 3.692304000000007, 1.8461520000000036, 1.8461519999999894, 1.8461520000000036, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 0.9230760000000089, 1.8461519999999894, 1.8461520000000036, 0.9230760000000089, 3.692303999999993, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 0.9230759999999947, 1.8461520000000036, 0.9230760000000089, 0.9230759999999947, 0.9230759999999947, 3.692304000000007, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 3.692303999999993, 1.8461519999999894, 1.8461520000000178, 1.8461519999999894, 1.8461520000000178, 0.9230759999999805, 3.692304000000007, 0.9230760000000089, 0.9230759999999805, 1.8461520000000178, 0.9230759999999805, 0.9230760000000089, 0.9230760000000089]
(notes2.length-1).times do |i|
sleep sleeps2[i]
play notes2[i], sustain: sustains2[i], pan: pan, amp: amps2[i]
end
end
# Track 3
in_thread do
use_synth :pulse
pan = 1.0
# Number of notes = 76
notes3 = [:d3, :a3, :a3, :b3, :a3, :gs3, :a3, :d4, :d4, :cs4, :d4, :d4, :c4, :a3, :g3, :f3, :f3, :f3, :g3, :f3, :e3, :d3, :d3, :f3, :g3, :a3, :d4, :c4, :d4, :c4, :b3, :a3, :a3, :d4, :d4, :a3, :b3, :a3, :g3, :g3, :f3, :e3, :e3, :f3, :g3, :a3, :f3, :e3, :d3, :g3, :f3, :e3, :d3, :d4, :d4, :a3, :g3, :c4, :a3, :g3, :as3, :a3, :g3, :f3, :f3, :a3, :b3, :c4, :as3, :a3, :g3, :f3, :g3, :f3, :e3, :d3]
amps3 = [0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63]
sustains3 = [1.48, 0.74, 0.74, 1.48, 3.51, 1.48, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.48, 3.51, 1.48, 0.74, 1.48, 1.48, 0.74, 2.22, 0.74, 3.51, 1.48, 3.51, 1.48, 0.74, 1.48, 0.74, 1.48, 2.22, 0.74, 3.51, 1.48, 3.51, 1.48, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 3.51, 1.48, 3.51, 0.74, 0.74, 1.48, 0.74, 0.74, 1.48, 2.22, 0.74, 1.48, 1.48, 1.48, 3.51, 1.48, 0.74, 1.48, 0.74, 1.48, 2.22, 1.48, 0.74, 0.74, 1.48, 1.48, 3.51, 1.48, 0.74, 1.48, 0.74, 1.48, 4.43]
sleeps3 = [0.0, 1.8461519999999998, 0.9230759999999998, 0.923076, 1.8461519999999996, 3.692303999999999, 1.846152, 1.846152, 0.923076, 0.923076, 1.8461519999999982, 4.615380000000002, 0.9230759999999982, 1.846152, 1.846152, 1.846152, 3.692304, 1.8461519999999965, 0.9230760000000018, 1.8461520000000036, 1.8461519999999965, 0.9230760000000018, 4.615380000000002, 0.9230759999999947, 3.692304, 1.8461520000000036, 3.692304, 1.8461519999999965, 0.9230760000000018, 1.8461519999999965, 0.9230760000000018, 1.8461520000000036, 4.615379999999995, 0.9230759999999947, 3.692304000000007, 1.8461520000000036, 3.692303999999993, 1.8461520000000036, 1.8461520000000036, 0.9230759999999947, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 3.692304000000007, 1.8461520000000036, 3.692303999999993, 0.9230759999999947, 0.9230760000000089, 1.8461519999999894, 0.9230760000000089, 0.9230759999999947, 1.8461520000000036, 4.615380000000002, 0.9230759999999947, 1.8461520000000036, 1.8461520000000036, 1.8461519999999894, 3.692304000000007, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 0.9230759999999947, 1.8461520000000036, 3.692303999999993, 1.8461519999999894, 0.9230760000000089, 0.9230760000000089, 1.8461519999999894, 1.8461520000000178, 3.6923039999999787, 1.8461520000000178, 0.9230759999999805, 1.8461520000000178, 0.9230759999999805, 1.8461520000000178]
(notes3.length-1).times do |i|
sleep sleeps3[i]
play notes3[i], sustain: sustains3[i], pan: pan, amp: amps3[i]
end
end
end