[CM] reverb, clm

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Wed Nov 13 10:37:37 PST 2013

On 11/13/2013 10:13 AM, James Hearon wrote:
> Hi,

Hi James,

> I'm getting myself all confused about how to do reverb in clm, with
> emacs, slime. I tried to compile and load nrev.ins, then compile and
> load my simple-pvoc.ins for example, and guess I was dreaming there
> would be some fancy reverb channel mixing or convolution reverb taking
> place behind the scenes to create reverb on the output signal, but I'm
> not hearing any.  I'm thinking perhaps the simple-pvoc instrument must
> require some hooks to apply the reverb such as degree, distance,
> reverb-amount in the ins definition?  I don't really need to make
> simple-pvoc have reverb here, I'm just using it as an example to try to
> understand the principle of how to add reverb to an instrument which has
> none.
> (definstrument simple-pvoc (beg dur amp size file)
>    (let* ((start (floor (* beg *srate*)))
>       (end (+ start (floor (* dur *srate*))))
>       (fil (open-input file))
>       (sr (make-phase-vocoder fil :fft-size size)))
>        (run
>         (loop for i from start to end do
>       (outa i (* amp (phase-vocoder sr)))))
>        (close-input fil)))
>   (with-sound (:reverb nrev :reverb-data (:reverb-factor 1.2 :lp-coeff
> .95) :channels 2 :srate 48000)
>      (simple-pvoc 4 1 .76 256 "oboe.snd")
>   )

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.

-- Fernando

More information about the Cmdist mailing list