supernova: fix boost.thread move semantics
[supercollider.git] / Help / UGens / Reverbs / GVerb.html
blobfee25334f4959c7d86735676e3760a73ca038817
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: 10.0px Monaco; color: #0b22b3; min-height: 14.0px}
15 p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
16 p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
17 p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
18 p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #007300}
19 span.s1 {color: #0000bf}
20 span.s2 {color: #007300}
21 span.s3 {color: #000000}
22 span.Apple-tab-span {white-space:pre}
23 </style>
24 </head>
25 <body>
26 <p class="p1"><b>GVerb<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>A two-channel reverb</b></p>
27 <p class="p2"><br></p>
28 <p class="p3"><b>#left, right = GVerb.ar(in, roomsize, revtime, damping, inputbw, spread, drylevel, earlyreflevel, taillevel,<span class="Apple-converted-space"> </span></b></p>
29 <p class="p3"><b><span class="Apple-tab-span"> </span>maxroomsize, mul, add)</b></p>
30 <p class="p4"><br></p>
31 <p class="p3">A two-channel reverb UGen, based on the "GVerb" LADSPA effect by Juhana Sadeharju (kouhia at nic.funet.fi).</p>
32 <p class="p4"><br></p>
33 <p class="p3"><span class="Apple-tab-span"> </span><b>in -</b> mono input</p>
34 <p class="p3"><span class="Apple-tab-span"> </span><b>roomsize -</b> in squared meters</p>
35 <p class="p3"><span class="Apple-tab-span"> </span><b>revtime -</b> in seconds</p>
36 <p class="p3"><span class="Apple-tab-span"> </span><b>damping -</b> 0 to 1, high frequency rolloff, 0 damps the reverb signal completely, 1 not at all</p>
37 <p class="p3"><span class="Apple-tab-span"> </span><b>inputbw -</b> 0 to 1, same as damping control, but on the input signal</p>
38 <p class="p3"><span class="Apple-tab-span"> </span><b>spread -</b> a control on the stereo spread and diffusion of the reverb signal</p>
39 <p class="p3"><span class="Apple-tab-span"> </span><b>drylevel -</b> amount of dry signal</p>
40 <p class="p3"><span class="Apple-tab-span"> </span><b>earlyreflevel -</b> amount of early reflection level</p>
41 <p class="p3"><span class="Apple-tab-span"> </span><b>taillevel -</b> amount of tail level</p>
42 <p class="p3"><span class="Apple-tab-span"> </span><b>maxroomsize -</b> to set the size of the delay lines. Defaults to roomsize + 1</p>
43 <p class="p4"><br></p>
44 <p class="p3"><b>*Known issues*</b></p>
45 <p class="p4"><br></p>
46 <p class="p3">There is a large CPU spike when the synth is instantiated while all the delay lines are zeroed out.</p>
47 <p class="p3">Quick changes in roomsize result in zipper noise.</p>
48 <p class="p3"><b>Changing the roomsize does not work properly! Still trying to look for the bug... (-josh)</b></p>
49 <p class="p5"><br></p>
50 <p class="p5"><br></p>
51 <p class="p3"><b>Examples</b></p>
52 <p class="p6"><br></p>
53 <p class="p7"><span class="s1">SynthDef</span>(<span class="s2">\test</span>, {<span class="s1">arg</span> roomsize, revtime, damping, inputbw, spread = 15, drylevel, earlylevel,</p>
54 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>taillevel;</p>
55 <p class="p7"><span class="Apple-tab-span"> </span><span class="s1">var</span> a = <span class="s1">Resonz</span>.ar(</p>
56 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s1">Array</span>.fill(4, {<span class="s1">Dust</span>.ar(2)}), 1760 * [1, 2, 4, 8], 0.01).sum * 10;</p>
57 <p class="p8">//<span class="Apple-tab-span"> </span>var a = SoundIn.ar(0);</p>
58 <p class="p8">//<span class="Apple-tab-span"> </span>var a = PlayBuf.ar(1, 0);</p>
59 <p class="p7"><span class="Apple-tab-span"> </span><span class="s1">Out</span>.ar(0, <span class="s1">GVerb</span>.ar(</p>
60 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a,</p>
61 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>roomsize,<span class="Apple-converted-space"> </span></p>
62 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>revtime,<span class="Apple-converted-space"> </span></p>
63 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>damping,<span class="Apple-converted-space"> </span></p>
64 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>inputbw,<span class="Apple-converted-space"> </span></p>
65 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>spread,<span class="Apple-converted-space"> </span></p>
66 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>drylevel.dbamp,</p>
67 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>earlylevel.dbamp,<span class="Apple-converted-space"> </span></p>
68 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>taillevel.dbamp,</p>
69 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>roomsize, 0.3) + a)}).load(s)</p>
70 <p class="p6"><span class="Apple-tab-span"> </span></p>
71 <p class="p7">s = <span class="s1">Server</span>.internal.boot;</p>
72 <p class="p7">s.scope(2);</p>
73 <p class="p6"><br></p>
74 <p class="p8">// bathroom</p>
75 <p class="p9"><span class="s3">a = </span><span class="s1">Synth</span><span class="s3">(</span>\test<span class="s3">, [</span>\roomsize<span class="s3">, 5, </span>\revtime<span class="s3">, 0.6, </span>\damping<span class="s3">, 0.62, </span>\inputbw<span class="s3">, 0.48, </span>\drylevel<span class="s3"> -6, </span>\earlylevel<span class="s3">, -11, </span>\taillevel<span class="s3">, -13]);</span></p>
76 <p class="p7">a.free;</p>
77 <p class="p6"><br></p>
78 <p class="p8">//living room</p>
79 <p class="p9"><span class="s3">a = </span><span class="s1">Synth</span><span class="s3">(</span>\test<span class="s3">, [</span>\roomsize<span class="s3">, 16, </span>\revtime<span class="s3">, 1.24, </span>\damping<span class="s3">, 0.10, </span>\inputbw<span class="s3">, 0.95, </span>\drylevel<span class="s3"> -3, </span>\earlylevel<span class="s3">, -15, </span>\taillevel<span class="s3">, -17]);</span></p>
80 <p class="p7">a.free;</p>
81 <p class="p6"><br></p>
82 <p class="p8">//church</p>
83 <p class="p9"><span class="s3">a = </span><span class="s1">Synth</span><span class="s3">(</span>\test<span class="s3">, [</span>\roomsize<span class="s3">, 80, </span>\revtime<span class="s3">, 4.85, </span>\damping<span class="s3">, 0.41, </span>\inputbw<span class="s3">, 0.19, </span>\drylevel<span class="s3"> -3, </span>\earlylevel<span class="s3">, -9, </span>\taillevel<span class="s3">, -11]);</span></p>
84 <p class="p7">a.free;</p>
85 <p class="p6"><br></p>
86 <p class="p8">// cathedral</p>
87 <p class="p9"><span class="s3">a = </span><span class="s1">Synth</span><span class="s3">(</span>\test<span class="s3">, [</span>\roomsize<span class="s3">, 243, </span>\revtime<span class="s3">, 1, </span>\damping<span class="s3">, 0.1, </span>\inputbw<span class="s3">, 0.34, </span>\drylevel<span class="s3"> -3, </span>\earlylevel<span class="s3">, -11, </span>\taillevel<span class="s3">, -9]);</span></p>
88 <p class="p7">a.free</p>
89 <p class="p6"><br></p>
90 <p class="p8">// canyon</p>
91 <p class="p9"><span class="s3">a = </span><span class="s1">Synth</span><span class="s3">(</span>\test<span class="s3">, [</span>\roomsize<span class="s3">, 300, </span>\revtime<span class="s3">, 103, </span>\damping<span class="s3">, 0.43, </span>\inputbw<span class="s3">, 0.51, </span>\drylevel<span class="s3"> -5, </span>\earlylevel<span class="s3">, -26, </span>\taillevel<span class="s3">, -20]);</span></p>
92 <p class="p7">a.free;</p>
93 <p class="p6"><br></p>
94 <p class="p7">s.quit;</p>
95 </body>
96 </html>