DELAY


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)