use_bpm 160
# ----------------------------------scores----------------------------------
noten1 = [:d4,:e4,:g4,:d4,:e4,:c4]
duren1 = [0.5,0.5,1,0.5,0.5,1]
noten2 = [:d4,:e4,:g4,:d4,:c5,:f4]
duren2 = duren1
noten3 = [:c5,:e4,:c4,:c4,:g4,:e4,:d4,:e4]
duren3 = [0.5,0.5,1,0.5,0.5,1,0.5,0.5]
noten4 = [:d4,:e4,:g4,:d4,:c5,:f4,:d4,:f4]
duren4 = duren3
noten5 = [:c5,:e4,:c4,:c4,:g4,:e4,:d4,:f4,:c5]
duren5 = [0.5,0.5,1,0.5,0.5,1,0.5,0.5,2]
groove = (ring :c1,:e1,:g1,:e1,:g2,:a1,:e2,:c2,:c2,:e2,:g2,:e2,:g2,:a1,:e2,:f2)
rests = (ring 0.67,0.67,0.67,0.67,0.67,0.68,0.68,0.68,0.68,0.67,0.67,0.67,0.67,0.67,0.67,0.67)
# ------------------------------definitions---------------------------------
define :basis1 do |ins|
use_synth ins
with_fx :level, amp: 0.3 do
play_pattern_timed noten1, duren1
play_pattern_timed noten2, duren2
play_pattern_timed noten1, duren1
end
sleep 1
end
define :basis2 do |ins|
use_synth ins
with_fx :level, amp: 0.3 do
play_pattern_timed noten3, duren3
play_pattern_timed noten4, duren4
play_pattern_timed noten5, duren5
sleep 1
end
end
define :rhythm do
in_thread do
2.times do
sample :loop_mika
end
end
end
define :bass do |harmonic|
for i in 0..(15)
with_fx :level, amp: 0.4 do
play note(groove[i]) + harmonic
sleep rests[i]
end
end
sleep 1
end
define :basso do
in_thread do
bass 0
end
in_thread do
bass 7
end
in_thread do
bass 12
end
end
# ----------------------------------play------------------------------------
basis1 :dull_bell
basis2 :pretty_bell
sleep 1
rhythm
sleep 23
rhythm
basso
sleep 23
basis1 :dull_bell
sleep 1
in_thread do
basis1 :dull_bell
basis2 :dull_bell
end
sleep 1
in_thread do
basis1 :dull_bell
basis2 :dull_bell
basis1 :pretty_bell
end
sleep 1
in_thread do
basis1 :pretty_bell
basis2 :pretty_bell
end
sleep 1
in_thread do
with_fx :ping_pong, feedback: 0.98 do
end
end