Document toolboxDocument toolbox

(8.D.2.3) Delays

This section contains the following pages:

Links to individual module pages can also be found in the table at the end of this page.

General Information

Delay modules hold the input signal for some amount of time using an internal circular buffer. This buffer is instantiated with a size maxDelay. At runtime, currentDelay is set to control the time constant for the maxDelay buffer. Most delays update currentDelay instantaneously, but smoothed(interpolated) delays are provided if the final product needs a varying delay.

Delay time type can be int or fract32 samples, int or fract32 milliseconds, or blocks. Input type also varies, meaning some modules take Float audio data, some take Fract32 audio, and some take any type (including int).

For most cases, use Delay msec or Delay samples. Modulated delays come into play for making musical effects.

Allpass Delays

Allpass Delays use feedback and feedforward in order to vary the phase of a signal without changing its magnitude or its position in time. Our allpass delays have a coef variable which determines the amount of gain on the feedback/forward mix factor. Allpasses are commonly used in audio effects like chorus, flanger, reverb, and stereo effects. Our allpasses also have the option of outputting the delayed signal (in cases where time position and phase should change).

Modulated Delays

Modulated Delays come with a modulation control pin. This control pin feeds the modulation factor mod, limited in depth by modDepth. A common use case is to provide the mod pin with a random or oscillator source that varies from -1 to 1, allowing the delay to vary. This oscillation reduces harmonic artifacts from feedback delay lines.

Delay Taps

Delay Taps create an evenly spaced N amount of delays, which are all interleaved into separate ‘delay channels.’ This is useful for adaptive FIR filters and prediction algorithms due to the consistency in delay length.

Low memory delays

Since delays tend to be memory intensive, memory efficient options are provided. Modules labelled with a 16 in the name use half of the bits (compared to 32 bit data). This results in about half the size on the heap, at a cost of lost amplitude resolution. Our most memory efficient delay for multiple lines is the Delay State Writer16. This uses a circular buffer and multiple pointers instead of multiple buffers in memory, all while using 16-bit resolution.

Table of Delay Modules

Module Name

Input type

Delay Time Type

Time Interpolation

Modulation Control

Delay Tap

Low Mem

Allpass Delay

Floating point

Integer Samples

(none)

(none)

(none)

(none)

Allpass Delay Fract32

Fract32

Integer Samples

(none)

(none)

(none)

(none)

Allpass Delay16

Floating point

Integer Samples

(none)

(none)

(none)

yes

Allpass Delay16 Fract32

Fract32

Integer Samples

(none)

(none)

(none)

yes

Allpass Delayci

Floating point

Fractional Samples

Cubic

yes

(none)

(none)

Allpass Delayi

Floating point

Fractional Samples

Linear

yes

(none)

(none)

Block Delay

Any

Blocks

(none)

(none)

(none)

(none)

Delay

Any

Integer Samples

(none)

(none)

(none)

(none)

Delay Interp Fract32

Fract32

Fractional Samples

Linear and Cubic

yes

(none)

(none)

Delay Msec

Any

Fractional Milliseconds

(none)

(none)

(none)

(none)

Delay Ntap

Any

Integer Samples

(none)

(none)

yes

(none)

Delay NTap16 Fract32

Fract32

Integer Samples

(none)

(none)

yes

yes

Delay Reader

Integer

Fractional Samples

(none)

(none)

(none)

(none)

Delay State Writer

Any

Integer Samples

(none)

(none)

(none)

(none)

Delay State Writer16

Any

Integer Samples

(none)

(none)

(none)

yes

Delay16

Any

Integer Samples

(none)

(none)

(none)

yes

Delayci

Floating point

Fractional Samples

Cubic

yes

(none)

(none)

Delayci Fract32

Fract32

Fractional Samples

(none)

(none)

(none)

(none)

Delayi

Floating point

Fractional Samples

Linear

yes

(none)

(none)

Fractional Delay Fract32

Fract32

Fractional Samples

(none)

(none)

yes

(none)

Interpolated Delay

Floating point

Fractional Samples

Linear and Cubic

yes

(none)

(none)

Â