Comb delay line with no interpolation which uses a buffer for its internal
memory.
Warning: For reasons of efficiency, the effective buffer size is the
allocated size rounded down to the next power of two. For example, if 44100
samples are allocated, the maximum delay would be 32768 samples. Also note that
the buffer must be monophonic.
Examples
// Compare interpolation// These examples compare the variants, so that you can hear the difference in interpolation// allocate bufferval b = Buffer.alloc(s, (0.01 * s.sampleRate).toInt.nextPowerOfTwo)
// Comb used as a resonator. The resonant fundamental is equal to// reciprocal of the delay time.
play { BufCombN.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), 0.2) }
play { BufCombL.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), 0.2) }
play { BufCombC.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), 0.2) }
// with negative feedback
play { BufCombN.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), -0.2) }
play { BufCombL.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), -0.2) }
play { BufCombC.ar(b.id, WhiteNoise.ar(0.01), XLine.kr(0.0001, 0.01, 20), -0.2) }
b.free() // do this after the synths have ended
// Used as an echoval b = Buffer.alloc(s, (0.2 * s.sampleRate).toInt.nextPowerOfTwo)
play { BufCombN.ar(b.id, Decay.ar(Dust.ar(1) * 0.5, 0.2) * WhiteNoise.ar, 0.2, 3) }
b.free() // do this after the synth has ended
Time for the echoes to decay by 60 decibels. If this
time is negative then the feedback coefficient will be
negative, thus emphasizing only odd harmonics at an
octave lower.
Comb delay line with no interpolation which uses a buffer for its internal memory.
Warning: For reasons of efficiency, the effective buffer size is the allocated size rounded down to the next power of two. For example, if 44100 samples are allocated, the maximum delay would be 32768 samples. Also note that the buffer must be monophonic.
Examples
BufCombC
BufCombL