cmake build system: visiblity support for clang
[supercollider.git] / Help / UGens / Delays / BufCombC.html
blob6a82642ba9943b6254fbd95a983a264759ce65c1
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <meta http-equiv="Content-Style-Type" content="text/css">
6 <title></title>
7 <meta name="Generator" content="Cocoa HTML Writer">
8 <meta name="CocoaVersion" content="824.44">
9 <style type="text/css">
10 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica}
11 p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica; min-height: 22.0px}
12 p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
13 p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px}
14 p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #902a19}
15 p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
16 p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
17 span.s1 {color: #0018f7}
18 span.s2 {color: #091fb1}
19 </style>
20 </head>
21 <body>
22 <p class="p1"><b>BufCombC buffer based comb delay line with cubic interpolation</b></p>
23 <p class="p2"><br></p>
24 <p class="p3"><b>BufCombC.ar(buf, in, delaytime, decaytime, mul, add)</b></p>
25 <p class="p3"><b>BufCombC.kr(buf, in, delaytime, decaytime, mul, add)</b></p>
26 <p class="p4"><br></p>
27 <p class="p3">Comb delay line with cubic interpolation which uses a buffer for its internal memory. See also <a href="BufCombN.html"><span class="s1">BufCombN</span></a> which uses no interpolation, and <a href="BufCombL.html"><span class="s1">BufCombL</span></a> which uses linear interpolation. Cubic interpolation is more computationally expensive than linear, but more accurate.</p>
28 <p class="p4"><br></p>
29 <p class="p3">See also <a href="CombC.html"><span class="s1">CombC</span></a>.</p>
30 <p class="p4"><br></p>
31 <p class="p3"><b>buf</b> - buffer number.</p>
32 <p class="p3"><b>in</b> - the input signal.</p>
33 <p class="p3"><b>delaytime</b> - delay time in seconds.</p>
34 <p class="p3"><b>decaytime</b> - time for the echoes to decay by 60 decibels. If this time is negative then the feedback</p>
35 <p class="p3">coefficient will be negative, thus emphasizing only odd harmonics at an octave lower.</p>
36 <p class="p3"><b>Warning:</b> For reasons of efficiency, the effective
37 buffer size is limited to the previous power of two. So, if 44100
38 samples are allocated, the maximum delay would be 32768 samples.</p>
39 <p class="p4"><br></p>
40 <p class="p5">// These examples compare the variants, so that you can hear the difference in interpolation</p>
41 <p class="p4"><br></p>
42 <p class="p5">// allocate buffer</p>
43 <p class="p6">b = <span class="s2">Buffer</span>.alloc(s,44100,1);</p>
44 <p class="p7"><br></p>
45 <p class="p5">// Comb used as a resonator. The resonant fundamental is equal to<span class="Apple-converted-space"> </span></p>
46 <p class="p5">// reciprocal of the delay time.</p>
47 <p class="p6">{ <span class="s2">BufCombN</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), 0.2) }.play;</p>
48 <p class="p7"><br></p>
49 <p class="p6">{ <span class="s2">BufCombL</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), 0.2) }.play;</p>
50 <p class="p7"><br></p>
51 <p class="p6">{ <span class="s2">BufCombC</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), 0.2) }.play;</p>
52 <p class="p7"><br></p>
53 <p class="p5">// with negative feedback:</p>
54 <p class="p6">{ <span class="s2">BufCombN</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), -0.2) }.play;</p>
55 <p class="p7"><br></p>
56 <p class="p6">{ <span class="s2">BufCombL</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), -0.2) }.play;</p>
57 <p class="p7"><br></p>
58 <p class="p6">{ <span class="s2">BufCombC</span>.ar(b, <span class="s2">WhiteNoise</span>.ar(0.01), <span class="s2">XLine</span>.kr(0.0001, 0.01, 20), -0.2) }.play;</p>
59 <p class="p7"><br></p>
60 <p class="p5">// used as an echo.<span class="Apple-converted-space"> </span></p>
61 <p class="p6">{ <span class="s2">BufCombC</span>.ar(b, <span class="s2">Decay</span>.ar(<span class="s2">Dust</span>.ar(1,0.5), 0.2, <span class="s2">WhiteNoise</span>.ar), 0.2, 3) }.play;</p>
62 </body>
63 </html>