What a lovely little piece of code… .great for ‘twiddling’ with !!
I spent a nice couple of hours and ended up with this, which
I hope you dont mind me expanding further on. 
Many thanks,.
Eli…
use_bpm 120
define :pattern do |pattern|
return pattern.ring.tick =="x"
end
live_loop :time, delay: 0.01 do
sleep 1
end
with_fx :level, amp: 4 do
with_fx :octaver do
live_loop :saw1, sync: :time do
#stop
use_synth :blade
notes = [knit(:f3,64, :ds3,64).tick(:k)]
c = rrand(70,110)
r = rrand(0.15,0.4)
play notes.tick, release: r, cutoff: c if pattern "x-x--x--x-x-x-x-x"
sleep 0.25
end
end # end with_fx :octaver
live_loop :saw2, sync: :time do
#stop
use_synth :blade
notes = [:gs4, :c5, knit(:f5,8, :g5,8, :gs5,16).tick(:k)]
c = rrand(70,110)
r = rrand(0.15,0.4)
a = ring(0.5,0.5,2).tick
a = 2
play notes, release: r, cutoff: c, amp: a if pattern "-x----x---x---xx"
sleep 0.25
end
with_fx :reverb, room: 0.8 do
live_loop :mel1, sync: :time do
#stop
use_synth :fm
with_fx :ixi_techno, phase: 2 do
# 1 riff chords
notes = [:gs4, :c5, knit(:f5,8, :g5,8, :gs5,16).tick(:k)]
play notes, release: 0.2, pitch: 12 if pattern "x----"
sleep [0,0.25,0.5,1].choose
#2 riff random notes (not quite there yet)
notes = scale(:f3, :minor_pentatonic, num_octaves: 3).mirror.tick(:s)
play notes, release: 0.2, pitch: 12, amp: 0.125 if pattern "x-x-xx-"
sleep 0.25
end
end
live_loop :beep1 do
#stop
use_synth :pluck
play knit(:f5,3, nil, 2, :gs5,1, :g5,1, nil, 1).tick(:k) # :f5, :gs5, :g5
sleep 4
end
end # end :reverb
with_fx :ixi_techno, phase: 16 do
live_loop :kick1, sync: :time do
c = range(75,130, steps: 5).mirror.tick(:k1)
sample :bd_haus, cutoff: c, amp: 4
sleep 1 # 0.25
end
end
with_fx :slicer do
live_loop :noise1 do # snarelike
#stop
sleep 7
use_synth ring(:piano).choose
play :f5, rate: 8, release: rrand(0.4,0.8)
sleep 1
end
end
end #end :level