p0 = output start time (seconds) p1 = input start time (seconds) p2 = input duration (seconds) p3 = amplitude multiplier (relative multiplier of input signal) p4 = reverb type (integer, use 1: PRCRev, 2: JCRev, 3: NRev; see Usage Notes below) p5 = reverb time (seconds) p6 = reverb amount (0: dry --> 1: wet) p7 = input channel [optional; default is 0] p3 (amplitude) and p6 (reverb amount) can receive dynamic updates from a table or real-time control source. Author: John Gibson, 7/19/99; rev for v4, 7/21/04 based on several reverberators from the STK package (by Perry Cook, Gary Scavone, and Tim Stilson)
The reverb types are:
(1) PRCRev (Perry R. Cook) 2 allpass units in series followed by 2 comb filters in parallel. (2) JCRev (John Chowning) 3 allpass filters in series, followed by 4 comb filters in parallel, a lowpass filter, and two decorrelation delay lines in parallel at the output. (3) NRev (Michael McNabb) 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by 2 allpass filters in parallel with corresponding right and left outputs.
REV can produce either mono or stereo output.
rtsetparams(44100, 2) load("REV") rtinput("mysound.aif") outskip = 0 inskip = 0 dur = DUR() amp = 0.7 rvbtype = 3 rvbtime = 0.3 rvbpct = 0.3 inchan = 0 ampenv = maketable("line", 1000, 0,0, 1,1, dur-1,1, dur,0) REV(outskip, inskip, dur, amp*ampenv, rvbtype, rvbtime, rvbpct, inchan)