Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / BufAllpassL.schelp
blobe8a91b1eb2f7593205524807b3a0d1f9de0d91a1
1 class:: BufAllpassL
2 summary:: Buffer based all pass delay line with linear interpolation.
3 related:: Classes/BufAllpassC, Classes/BufAllpassN, Classes/AllpassL
4 categories::  UGens>Delays>Buffer
7 Description::
9 All pass delay line with linear interpolation which uses a buffer for its
10 internal memory. See also  link::Classes/BufAllpassN::  which uses no
11 interpolation, and  which  link::Classes/BufAllpassC::  uses cubic
12 interpolation. Cubic interpolation is more computationally expensive
13 than linear, but more accurate.
16 classmethods::
18 method::ar
20 argument::buf
21 Buffer number.
23 argument::in
24 The input signal.
26 argument::delaytime
27 Delay time in seconds.
29 argument::decaytime
30 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.
32 discussion::
33 warning::
34 For reasons of efficiency, the effective buffer size is limited to the previous power of two. So, if 44100 samples are allocated, the maximum delay would be 32768 samples.
37 Examples::
39 code::
41 // allocate buffer
42 b = Buffer.alloc(s,44100,1);
44 // Since the allpass delay has no audible effect as a resonator on
45 // steady state sound ...
47 { BufAllpassC.ar(b.bufnum, WhiteNoise.ar(0.1), XLine.kr(0.0001, 0.01, 20), 0.2) }.play;
49 // ...these examples add the input to the effected sound and compare variants so that you can hear
50 // the effect of the phase comb:
54         z = WhiteNoise.ar(0.2);
55         z + BufAllpassN.ar(b.bufnum, z, XLine.kr(0.0001, 0.01, 20), 0.2)
56 }.play)
60         z = WhiteNoise.ar(0.2);
61         z + BufAllpassL.ar(b.bufnum, z, XLine.kr(0.0001, 0.01, 20), 0.2)
62 }.play)
66         z = WhiteNoise.ar(0.2);
67         z + BufAllpassC.ar(b.bufnum, z, XLine.kr(0.0001, 0.01, 20), 0.2)
68 }.play)
70 // used as an echo - doesn't really sound different than Comb,
71 // but it outputs the input signal immediately (inverted) and the echoes
72 // are lower in amplitude.
73 { BufAllpassL.ar(b.bufnum, Decay.ar(Dust.ar(1,0.5), 0.2, WhiteNoise.ar), 0.2, 3) }.play;