(- (square-wave fm-modulator) 1.0)))
             (tri (* index (triangle-wave pm-modulator))))
         (outa i (* vol (oscil fm-carrier sq)))
         (outb i (* vol (oscil pm-carrier 0.0 tri)))
         (outc i sqsum)
         (outd i tri)
         (set! sqsum (+ sqsum sq))))))

(with-sound (:clipped #f :statistics #t :channels 4) (fmpmsq 0 1 1000 .5 .1 1 (+ (* 0.5 pi) .005)))
;; almost a match, the pi/2 triangle amp is to take into account the square wave's internal table size (2 pi)
;;   there is a dri