 fm-index (sin md))))
      (set! md (+ md md-incr)))))

; (with-sound (:clipped #f :statistics #t) (fmc 0 1 1000.0 1.0 0.1 0.5+1.0i))

(define* (pmc beg dur freq amp mc-ratio fm-index)
  (let* ((start (seconds->samples beg))
         (end (+ start (seconds->samples dur)))
         (cr 0.0)
	 (cr-incr (hz->radians freq))
	 (md-incr (hz->radians (* freq mc-ratio)))
	 (md 0.0))
    (do ((i start (+ i 1)))
	((= i end))
      (outa i (* amp (real-part (sin (+ cr (* fm-index (sin md)))))))
      (set! cr (+ cr c