Hi to all, this is a Sonic-Pi’s interpretation of a traditional Celtic tune named “The Ash Grove”. Hope you enjoy it!
# Title: The Ash Grove
# Artist: Mattia Giovanetti
# Date: 2017
#
# Sonic Pi v3.1
a = [72,76,79,77,76,72,72,74,77,76,74,72,71,67,67,72,76,74,72,71,69,65,69,67,72,71,72]
b = [1,1,0.5,0.5,1,1,1,1,0.5,0.5,0.5,0.5,1,1,1,1,0.5,0.5,0.5,0.5,1,1,1,1,1,1,2,1]
c = [60,67,64,60,67,67,65,69,69,55,62,53,52,67,67,53,57,60,55,62,65,64,60]
d = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2]
e = [79,76,77,79,81,79,77,76,77,74,76,77,79,77,76,74,76,72,74,76,77,76,74,72,71,79,81,79,67]
f = [1,0.5,0.5,0.5,0.5,1,1,1,1,0.5,0.5,0.5,0.5,1,1,1,1,0.5,0.5,0.5,0.5,1,1,1,1,1,1,2,1]
g = [60,67,67,64,62,60,59,67,67,62,60,59,57,69,69,60,59,57,55,67,66,67,55,65]
h = [1]
voceA = :pluck
voceB = :pluck
#use_bpm 112 #3/4
use_bpm 168 #6/8
define :rit_A do
in_thread do
use_synth voceA
play_pattern_timed a,b, release: 105
end
in_thread do
use_synth voceB
play_pattern_timed c,d, release: 10
end
in_thread do
8.times do
sample :drum_bass_hard, rate: 0.75
sleep 2
sample :drum_bass_soft, rate: 1.25
sleep 1
end
end
in_thread do
8.times do
sample :drum_cymbal_soft, amp: 0.25, rate: 0.75
sleep 1
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 0.75
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 0.25
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 1
end
end
in_thread do
with_fx :flanger, phase: 3.75 do
use_synth :fm
play_chord [48,55], attack: 0.25, decay: 1, sustain: 21, release: 0.75, amp: 0.25
sleep 23
end
end
sleep 23
end
define :rit_B do
in_thread do
use_synth voceA
play_pattern_timed e,f, release: 10
end
in_thread do
use_synth voceB
play_pattern_timed g,h, release: 10
end
in_thread do
8.times do
sample :drum_bass_hard, rate: 0.75
sleep 2
sample :drum_bass_soft, rate: 1.25
sleep 1
end
end
in_thread do
8.times do
sample :drum_cymbal_soft, amp: 0.25, rate: 0.75
sleep 1
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 0.75
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 0.25
sample :drum_cymbal_soft, amp: 0.125, rate: 0.75
sleep 1
end
end
in_thread do
with_fx :flanger, phase: 3.75 do
use_synth :fm
play_chord [48,55], attack: 0.25, decay: 1, sustain: 22, release: 0.75, amp: 0.25
sleep 23
end
end
sleep 24
end
with_fx :reverb, mix: 0.75, damp: 1 do
with_fx :echo, mix: 0.06, phase: 0.66, decay: 4 do
2.times do
use_synth voceA
play 67, release: 10
sleep 1
rit_A
end
1.times do
use_synth voceA
play 76, release: 10
sleep 0.5
play 77, release: 10
sleep 0.5
rit_B
rit_A
end
sleep 1
sample :drum_bass_hard, rate: 0.75
sleep 1
end
end