Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Delay

vdelayx, vdelayxs, vdelayxq, vdelayxw, vdelayxws, vdelayxwq

  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


Description

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.

Initialization

imaxdel – maximum delay time, in seconds

isize – interpolation window size in samples

iskip – skip initialization if present and non-zero

Performance

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.


Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Delay