CombC comb delay line with cubic interpolation


CombC.ar(in, maxdelaytime, delaytime, decaytime, mul, add)

CombC.kr(in, maxdelaytime, delaytime, decaytime, mul, add)


Comb delay line with cubic interpolation. See also CombN which uses no interpolation, and CombL which uses linear interpolation. Cubic interpolation is more computationally expensive than linear, but more accurate.


See also BufCombC.


in - the input signal.

maxdelaytime - the maximum delay time in seconds. used to initialize the delay buffer size.

delaytime - delay time in seconds.

decaytime - 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.


// These examples compare the variants, so that you can hear the difference in interpolation


// Comb used as a resonator. The resonant fundamental is equal to 

// reciprocal of the delay time.

{ CombN.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), 0.2) }.play;


{ CombL.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), 0.2) }.play;


{ CombC.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), 0.2) }.play;


// with negative feedback:

{ CombN.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), -0.2) }.play;


{ CombL.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), -0.2) }.play;


{ CombC.ar(WhiteNoise.ar(0.01), 0.01, XLine.kr(0.0001, 0.01, 20), -0.2) }.play;


// used as an echo. 

{ CombC.ar(Decay.ar(Dust.ar(1,0.5), 0.2, WhiteNoise.ar), 0.2, 0.2, 3) }.play;