First of all I know nothing about music theory, how can I make this flow better?
with_fx :reverb, mix: 0.7 do
with_fx :compressor do
with_fx :echo, mix: 0.3 do
live_loop :EpicMelody do
use_synth :bass_foundation
#First c major section
play chord(:C4, :major), amp: 1.5, release: 2
sleep 1
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C5, :major), amp: 1.5, release: 2
sleep 6
#second c major section
play chord(:C4, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C5, :major), amp: 1.5, release: 2
sleep 6.5
#gmajor section
play chord(:G4, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:G3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:G3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:G5, :major), amp: 1.5, release: 2
sleep 6.5
#fmajor section
play chord(:F4, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F5, :major), amp: 1.5, release: 2
sleep 6.5
#third c major section
play chord(:C4, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C3, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:C5, :major), amp: 1.5, release: 2
sleep 6.5
#ending riff
play chord(:F, :major), amp: 1.5, release: 2
sleep 1
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:A, :minor), amp: 1.5, release: 2
sleep 1
play chord(:G, :major), amp: 1.5, release: 2
sleep 1
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:F, :major), amp: 1.5, release: 2
sleep 0.5
play chord(:A, :minor), amp: 1.5, release: 2
sleep 1
play chord(:G, :major), amp: 1.5, release: 2
sleep 1
end
end
end
end
live_loop :steady_drumbeat do
sample :bd_ada, amp: 2
sleep 0.5
sample :hat_snap, amp: 1.5
sleep 0.5
end
live_loop :voxy_bassline do
with_fx :slicer, phase: 0.25, mix: 1 do
sample :bass_voxy_hit_c, amp: 1, rate: 1
end
sleep 0.5
end
live_loop :percussion do
sample :drum_cymbal_soft, rate: 1.5, amp: 0.5
sleep 1
end
live_loop :harmony do
use_synth :piano
# Harmony for the first C major section
play chord(:E, :minor), amp: 1, release: 2
sleep 1
play chord(:E, :minor), amp: 1, release: 2
sleep 0.5
play chord(:E, :minor), amp: 1, release: 2
sleep 0.5
play chord(:E, :minor), amp: 1, release: 2
sleep 6
# Harmony for the second C major section
play chord(:D, :major), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :major), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :major), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :major), amp: 0.8, release: 2
sleep 6.5
# Harmony for the G major section
play chord(:B, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:B, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:B, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:B, :minor), amp: 0.8, release: 2
sleep 6.5
# Harmony for the F major section
play chord(:A, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:A, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:A, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:A, :minor), amp: 0.8, release: 2
sleep 6.5
#harmony for third major c
play chord(:E, :minor), amp: 1, release: 2
sleep 0.5
play chord(:E, :minor), amp: 1, release: 2
sleep 0.5
play chord(:E, :minor), amp: 1, release: 2
sleep 0.5
play chord(:E, :minor), amp: 1, release: 2
sleep 6.5
# Harmony for the F major section of ending riff
play chord(:D, :minor), amp: 0.8, release: 2
sleep 1
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
# Harmony for the A minor and G major section of ending riff
play chord(:E, :minor), amp: 0.8, release: 2 # Harmonizes with A minor
sleep 1
play chord(:B, :minor), amp: 0.8, release: 2 # Harmonizes with G major
sleep 1
# Repeat harmony for the second F major, A minor, G major section
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:D, :minor), amp: 0.8, release: 2
sleep 0.5
play chord(:E, :minor), amp: 0.8, release: 2 # Harmonizes with A minor
sleep 1
play chord(:B, :minor), amp: 0.8, release: 2 # Harmonizes with G major
sleep 1
# Repeat harmony for subsequent sections as needed
end