'(1 2 2 4 1 2) (with-sound() (loop repeat 16 with time = 0 with rhythm = (new cycle :of '(1 2 2 4 1 2)) do (fm-violin time 0.1 300 0.1) (incf time (/ (next rhythm))))) (with-sound() (loop repeat 36 with time = 0 with rhythm = (new cycle :of '(1 2 2 4 1 2)) do (fm-violin time 0.1 300 0.1) (incf time (/ (next rhythm)))) (loop repeat 36 with time = 0 with rhythm = (new cycle :of '(1 4 4 2 8 8 1 2 8)) do (fm-violin time 0.1 245 0.1) (incf time (/ (next rhythm))))) (defun rhythm-line (start-time duration frequency amplitude rhythms ) (loop with time = 0 with rhythm = (new cycle :of rhythms) while (< time duration) do (fm-violin (+ start-time time) 0.1 frequency amplitude) (incf time (/ (next rhythm))))) (with-sound()(rhythm-line 0 10 300 0.1 '(1 2 2 4 1 2))) (with-sound() (rhythm-line 0 10 300 0.1 '(1 2 2 4 1 2)) (rhythm-line 0 10 200 0.1 '(1 4 4 2 8 8 1 2 8))) (with-sound() (rhythm-line 0 10 300 0.1 (list 1 2 2 4 1 (new heap :of '(2 4 4 8 8 8) :for 1)))) (defun rhythm-line (start-time duration frequency amp rhythms amplitudes) (loop with time = 0 with rhythm = (new cycle :of rhythms) with amplitude = (new cycle :of amplitudes) while (< time duration) do (fm-violin (+ start-time time) 0.1 frequency (* amp (next amplitude))) (incf time (/ (next rhythm))))) (with-sound() (rhythm-line 0 10 300 0.1 '(1 2 2 4 1 2) '(1 0.5 1 0.25 0.25 0.25 0.25 1 0.125)) (rhythm-line 0 10 200 0.1 '(1 4 4 2 8 8 1 2 8) '(1 0.5 1 0.25 0.25 0.25 0.25 1 0.125)))