DELAY -- delay an input signal with feedback
in RTcmix/insts/std
quick syntax:
DELAY(outsk, insk, indur, amp, delaytime, feedback, ringdowndur[, inputchan, pan])
underlined parameters are
pfield-enabled
for table or dynamic control (see the
maketable
or
makeconnection
scorefile commands). Parameters after the [bracket] are optional and
default to 0 unless otherwise noted.
4.0 Newer Documentation (taken from the source code):
older docs and more explanation below
DELAY - delay instrument with feedback
p0 = output start time
p1 = input start time
p2 = input duration
p3 = amplitude multiplier
p4 = delay time
p5 = delay feedback (i.e., regeneration multiplier) [0-1]
p6 = ring-down duration
p7 = input channel [optional, default is 0]
p8 = pan (in percent-to-left form: 0-1) [optional, default is 0]
p3 (amplitude), p4 (delay time), p5 (feedback) and p8 (pan) can receive
dynamic updates from a table or real-time control source.
If an old-style gen table 1 is present, its values will be multiplied
by the p3 amplitude multiplier, even if the latter is dynamic.
The point of the ring-down duration parameter is to let you control
how long the delay will sound after the input has stopped. Too short
a time, and the sound may be cut off prematurely.
rev. for v4.0 by JGG, 7/10/04
Older Documentation:
DELAY is a simple, regenerating delay instrument.
It has parameters for regeneration (amount of feedback) and for ring-down time, so that the delay decays naturally.
Syntax:
makegen(1, 24, 1000, t0, a0, t1, a1) /* amplitude envelope in time/amplitude pairs */
DELAY(outskip, inskip, duration, amplitude, delaytime, regeneration, ringdown, inchan, spread) /* regeneration should be less than 1 */
in comment form:
/* DELAY: regenerating delay instrument
*
* p0 = output start time
* p1 = input start time
* p2 = input duration
* p3 = amplitude multiplier
* p4 = delay time
* p5 = regeneration multiplier (< 1.0!)
* p6 = ring-down duration
* p7 = input channel number
* p8 = stereo spread (0.0-1.0)
* assumes function slot 1 is the amplitude envelope
*/
An example score:
rtsetparams(44100, 2)
load("DELAY")
rtinput("/sndgr/bob.dole.mono")
makegen(1, 24, 1000, 0,0, 0.5,1, 3.5,1, 7,0)
DELAY(0, 0, 7, 0.7, .14, 0.7, 3.5)
makegen(1, 24, 1000, 0,0, 0.1,1, 1.5,0.21, 3.5,1, 7,0)
DELAY(3.5, 0, 7, 1, 1.4, 0.3, 5)
Another score, using real-tine audio input:
set_option("full_duplex_on")
rtsetparams(44100, 2, 512)
load("DELAY")
rtinput("AUDIO", "MIC")
makegen(1, 24, 1000, 0,1, 100,1)
DELAY(0, 0, 14, 1.0, .078, 0.8, 3.5, 0, 0.1)
DELAY(7, 0, 10, 1, .415, 0.5, 3, 0, 0.9)
A third score:
rtsetparams(44100, 2)
load("DELAY")
rtinput("/snd/pablo1.snd")
makegen(1, 24, 1000, 0,0, 0.5,1, 3.5,1, 7,0)
DELAY(0, 0, 7, 0.5, .14, 0.7, 3.5, 0, 0.1)
makegen(1, 24, 1000, 0,0, 0.1,1, 1.5,0.21, 3.5,1, 7,0)
DELAY(3.5, 0, 7, 1, 1.4, 0.3, 5, 1, 0.9)
SEE ALSO
JDELAY