Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / DelayC.schelp
blob3e622e149df5768c0d182cd5a89b2f130c76bd19
1 class:: DelayC
2 summary:: Simple delay line with cubic interpolation.
3 related:: Classes/DelayL, Classes/DelayN, Classes/BufDelayC
4 categories::  UGens>Delays
7 Description::
9 Simple delay line with cubic interpolation. See also
10 link::Classes/DelayN::  which uses no interpolation, and
11 link::Classes/DelayL::  which uses linear interpolation. Cubic
12 interpolation is more computationally expensive than linear,
13 but more accurate.
16 classmethods::
18 method::ar, kr
20 argument::in
21 The input signal.
23 argument::maxdelaytime
24 The maximum delay time in seconds. used to initialize the delay buffer size.
26 argument::delaytime
27 Delay time in seconds.
29 discussion::
30 note::
31 DelayC needs at least 4 samples buffer. Therefore the minimum code::maxdealytime:: and code::delaytime:: must be code::SampleDur.ir * 4::.
34 Examples::
35 code::
37 // Dust randomly triggers Decay to create an exponential
38 // decay envelope for the WhiteNoise input source
40 z = Decay.ar(Dust.ar(1,0.5), 0.3, WhiteNoise.ar);
41 DelayC.ar(z, 0.2, 0.2, 1, z); // input is mixed with delay via the add input
42 }.play
46 // recursive application of delay.
48 z = Decay2.ar(Dust.ar(1, 0.5), 0.01, 0.1, Saw.ar(100 + [0, 1]));
49 5.do { |i| z = DelayC.ar(RLPF.ar(z, Rand(100, 3000), 0.03), 1, 1 / (2**i), 1, z * 0.5) };
51 }.play