(map-channel func) calls func on every sample; the value returned by the function is the new sample if that value is a number, but your do loop just returns #t (the value of the multiply in the loop body is simply thrown away), so the map-channel operation quits, leaving zeros in the new sound. I think you intend:

(let ((i 0))
  (map-channel (lambda (y)
                 (let ((result (* (amplitude-modulation 0.5) (im i))))
                   (set! i (+ i 1))
                   result))))


_______________________________________________
Cmdist mailing list
Cmdist@ccrma.stanford.edu
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to