ar vdelayx asig, adel, imaxdel, isize[,iskip] ar1, ar2 vdelayxs asig1, asig2, adel, imaxdel, isize[,iskip] ar1, ar2, vdelayxq asig1, asig2, asig3, asig4, adel, imaxdel, isize[,iskip] ar3, ar4 ar vdelayxw asig, adel, imaxdel, isize[,iskip] ar1, ar2 vdelayxws asig1, asig2, adel, imaxdel, isize[,iskip] ar1, ar2, vdelayxwq asig1, asig2, asig3, asig4, adel, imaxdel, isize[,iskip] ar3, ar4
These opcodes implement delay using high quality, therefore slower, interpolation, which is more accurate than linear and cubic interpolation. The delay time is variable at a-rate.
The vdelayxw family of opcodes change the position of the write tap in the delay line. This is unlike other delay opcodes, which change the position of the read tap. This approach is useful for implementing Doppler effects, where the position of the listener is fixed, but the source is moving.
The multichannel opcodes allow delaying two or four channels at once. This approach is computationally more efficient than using multiple, single channel opcodes.
imaxdel – maximum delay time, in seconds
isize – interpolation window size in samples
iskip – skip initialization if present and non-zero
asig, asig1, etc. – input signal(s) to be delayed. Inputs and outputs may be the same.
adel – delay time in seconds. Minimum delay time allowed is isize/2 samples.
With the vdelayxw family of opcodes, changing the delay time has some effects on output level according to the formula:
a = 1 / (1 + dt)
where a is the output level and dt is the change in delay time.
All these opcodes are best used with the double-precision version of Csound.
New in Csound 4.12.