 (seconds->samples beg))
         (end (+ start (seconds->samples dur)))
	 (fm-carrier (make-oscil freq))
	 (pm-carrier (make-oscil freq))
	 (fm-modulator (make-square-wave (* freq mc-ratio) 2.0 phase))
	 (pm-modulator (make-triangle-wave (* freq mc-ratio) (* 0.5 pi)))
	 (fm-index (hz->radians (* index freq mc-ratio)))
	 (ampf (make-env '(0 0 1 1 10 1 11 0) :scaler amp :duration dur))
	 (sqsum 0.0))
     (do ((i start (+ i 1)))
         ((= i end))
       (let ((vol (env ampf))
             (sq (* fm-index 