Skip to content

delayw

Writes the audio signal to a digital delay line.

Syntax

delayw asig

Performance

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).

Examples

Here is an example of the delayw opcode. It uses the file delayw.csd.

Example of the delayw opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o delayw.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1   

gasig  init 0   
gidel  = 1              ;delay time in seconds

instr 1

ain  pluck .7, 440, 1000, 0, 1
     outs ain, ain

vincr gasig, ain        ;send to global delay
endin

instr 2 

ifeedback = p4  

abuf2   delayr  gidel
adelL   deltap  .4              ;first tap (on left channel)
adelM   deltap  1               ;second tap (on middle channel)
        delayw  gasig + (adelL * ifeedback)

abuf3   delayr  gidel
kdel    line    1, p3, .01      ;vary delay time
adelR   deltap  .65 * kdel      ;one pitch changing tap (on the right chn.)
        delayw  gasig + (adelR * ifeedback)
;make a mix of all deayed signals       
        outs    adelL + adelM, adelR + adelM

clear   gasig
endin

</CsInstruments>
<CsScore>

i 1 0 1
i 1 3 1
i 2 0 3  0      ;no feedback
i 2 3 8 .8      ;lots of feedback
e
</CsScore>
</CsoundSynthesizer>

See also

Delay