(I have only checked this with clm-3 & cmucl) (signum samp) returns 0.0 for values between -1.0 and 1.0 inside run-loop (definstrument test (amp) (run (loop for i from 0 to 10 do (clm-print "~A" (signum (* amp (- (random 1.0) 1.0))))))) (with-sound () (test 1.0)) * 0,0,0,0,0,0,0,0,0,0,0, "test.snd" (with-sound () (test 2.0)) * 0,-1,0,-1,-1,-1,0,0,-1,0,-1, "test.snd" *