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.
Sample Scores
very basic:
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)