(define loop2
(lambda (beat dur root)
(play 3 sampler 36 100 dur 0)
(for-each (lambda (p offset)
(play (+ offset) sampler p 100 dur) 1)
(pc:make-chord 40 84 7
(pc:chord root (if (member root '(10 8))
'^7
'-7)))
'(1/3 1 3/2 1 2 3 13/3))
(callback (*metro* (+ beat (* .5 dur))) 'loop2 (+ beat dur)
dur
(if (member root '(0 8))
(random '(2 7 10))
(random '(0 8))))))