vdelayx — A variable delay opcode with high quality interpolation.
imd -- max. delay time (seconds)
iws -- interpolation window size (see below)
ist (optional) -- skip initialization if not zero
aout -- output audio signal
ain -- input audio signal
adl -- delay time in seconds
This opcode uses high quality (and slow) interpolation, that is much more accurate than the currently available linear and cubic interpolation. The iws parameter sets the number of input samples used for calculating one output sample (allowed values are any integer multiply of 4 in the range 4 - 1024); higher values mean better quality and slower speed.
Notes | |
---|---|
|
Here is an example of the use of the vdelayx opcode. It uses the file vdelayx.csd.
Example 1170. Example of the vdelayx 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 ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o vdelayx.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ims = .5 ;maximum delay time in seconds iws = 1024 ;window size adl = .5 ;delay time asig diskin2 "fox.wav", 1, 0, 1 ;loop fox.wav a2 poscil .2, .2, 1 ;make an LFO adl = a2 + ims/2 ;offset the LFO so that it is positive aout vdelayx asig, adl, ims, iws ;use the LFO to control delay time outs aout, aout endin </CsInstruments> <CsScore> f1 0 8192 10 1 i 1 0 10 e </CsScore> </CsoundSynthesizer>