Hi, I'm getting myself confused about the following info below from the manual about outa and *reverb*. If I'm understanding correctly then, *reverb* is not a reverberator and you still have to supply one, such as jc-rev, which I think I did below using with-sound.
But I'm stuck trying to figure out how to use a reverberator with a scheme process instead of with-sound. I know I can include the the reverb-amount etc. on the "send" line in the process, but I can't seem to figure out how to to include the jc-reverberator with the process or define. Do I include the reverberator in the definstrument perhaps for calling it with a process? I know using reverb from a scheme process is much easier if I use locsig instead of outa, but I was hoping I might understand if will work or not. Thank You, Jim ------ *reverb* The reverb instrument has to send to the *reverb* output stream an appropriately scaled version of its main output, something like: (outa i (* sample reverb-amount) *reverb*) What clm does is, after with-sound processes the whole "note list" that is its body, it runs the reverb instrument that you supply over the reverb soundfile that it generated as part of running the body and then merges the output of that instrument run into the main soundfile generated. -------- (if (not (provided? 'jcrev.scm)) (load "jcrev.scm")) (definstrument (myexamp start-time duration frequency amplitude sampling-rate (reverb-amount 0.01)) (let* ((beg (floor (* start-time sampling-rate))) (end (+ beg (floor (* duration sampling-rate)))) (sine-wave (make-oscil :frequency frequency))) (do ((i beg (+ i 1))) ((= i end)) (outa i (* (* (* amplitude (oscil sine-wave))) reverb-amount) *reverb*) (outb i (* (* (* amplitude (oscil sine-wave))) reverb-amount) *reverb*) ))) (with-sound (:output "test.wav" :srate 48000 :channels 2 :data-format mus-lshort :header-type mus-riff :reverb jc-reverb) (myexamp 0 1 440.0 0.5 48000 :reverb-amount 0.15)) ;--------------------------------- ;using a process (define (call_myexamp n r d flb fub amp sr) (process for freq = (between flb fub) repeat n do (send "myexamp" (elapsed) d freq amp sr ) (wait r) )) (sprout(call_myexamp 40 .15 .10 500 2000 0.5 48000) "mytest.wav")
_______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist