delayw — Writes the audio signal to a digital delay line.
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).
Here is an example of the delayw opcode. It uses the file delayw.csd.
Example 179. Example of the delayw opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<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>