>radians freq)))
     (do ((i start (+ i 1))
          (x 0.0 (+ x x-incr)))
	 ((= i end))
       (out-any i y 0)                    ;0: previous y (effective phase)
       (out-any i x 1)                    ;1: x (carrier phase) = old x + x-incr
       (let ((md (* index (sin y))))
         (out-any i (- (+ x md) y) 2)     ;2: new y - old y
         (set! y (+ x md))
         (out-any i md 3)                 ;3: output (* amp (sin y))
         (out-any i y 4)))))              ;4: new y

(with-sound (:srate