<- C I ->

delayr, delayw, delay, delay1

     ar   delayr    idlt[, istor]
          delayw    asig
     ar   delay          asig, idlt[, istor]
     ar   delay1    asig[, istor] 
A signal can be read from or written into a delay path, or it can be automatically delayed by some time interval.

INITIALIZATION

idlt - requested delay time in seconds. This can be as large as available memory will permit. The space required for n seconds of delay is 4n * sr bytes. It is allocated at the time the instrument is first initialized, and returned to the pool at the end of a score section.

istor (optional) - initial disposition of delay-loop data space ( see reson). The default value is 0.

PERFORMANCE

delayr reads from an automatically established digital delay line, in which the signal retrieved has been resident for idlt seconds. This unit must be paired with and precede an accompanying delayw unit. Any other Csound statements can intervene.

delayw writes asig into the delay area established by the preceding delayr unit. Viewed as a pair, these two units permit the formation of modified feedback loops, etc. However, there is a lower bound on the value of idlt, which must be at least 1 control period (or 1/kr).

delay is a composite of the above two units, both reading from and writing into its own storage area. It can thus accomplish signal time-shift, although modified feedback is not possible. There is no minimum delay period.

delay1 is a special form of delay that serves to delay the audio signal asig by just one sample. It is thus functionally equivalent to "delay asig, 1/sr" but is more efficient in both time and space. This unit is particularly useful in the fabrication of generalized non-recursive filters.Example:

          tigoto    contin         ; except on a tie,
     a2   delay     a1, .05, 0     ; begin 50 msec clean delay of sig
     contin:


<- C I ->
Prepared from the MIT Media Lab Csound Manual, PJN, Nov 1994.