Im trying to make a song with three different layers: percussion, bass line and main line. The following is what the percussion looks like (kind of a sequencer with consecutive loops):
use_bpm 60 dunbala = [1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0] kaxa = [0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0] txindata = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] live_loop :perkusio do 2.times do 16.times do |beat| sample :drum_bass_hard if dunbala[beat] == 1 # sample :glitch_perc1, amp: 0.3 if kaxa[beat] == 1 sleep 0.25 end end 4.times do 16.times do |beat| sample :drum_bass_hard if dunbala[beat] == 1 sample :glitch_perc1, amp: 0.5 if kaxa[beat] == 1 sleep 0.25 end end end
Probably not the most Sonic-piy way but I find it very pedagogical to teach variables, conditionals and loops. Also, it is super straightforward to port it from any online drum sequencer.
The thing is I’d like to add two more layers (bass line and main line) to this one in a similar way. Say, playing a chord or a sample when the second pattern of the percussion begins or triggerring an arpegio on the second iteration of the first pattern… You get the idea.
I was thinking of three live_loops but getting sync problems.
Thanks a lot!