(bind-func osc
(lambda (phase freq amp)
(let ((phase_ (+ phase (* (/ STWOPI SAMPLERATE) (scar freq)))))
(scons (* (scar amp) (cos phase))
(osc (if (> phase_ SPI) (- phase_ STWOPI) phase_)
(scdr freq)
(scdr amp))))))