Explicitly include a boost "windows" folder even on linux
[supercollider.git] / HelpSource / Classes / GVerb.schelp
blobb5c35b760c6075e502cdb294777480973b24e6e6
1 class:: GVerb
2 summary:: A two-channel reverb
3 categories:: UGens>Reverbs
4 related:: Classes/FreeVerb, Classes/FreeVerb2
6 description::
7 A two-channel reverb link::Classes/UGen::, based on the "GVerb" LADSPA effect by Juhana Sadeharju (kouhia at nic.funet.fi).
9 subsection:: Known issues
10 list::
11 ## There is a large CPU spike when the synth is instantiated while all the delay lines are zeroed out.
12 ## Quick changes in roomsize result in zipper noise.
13 ## emphasis::Changing the roomsize does not work properly! Still trying to look for the bug... (-josh)::
16 classmethods::
18 method:: ar
19 argument:: in
20 mono input.
21 argument:: roomsize
22 in squared meters.
23 argument:: revtime
24 in seconds.
25 argument:: damping
26 0 to 1, high frequency rolloff, 0 damps the reverb signal completely, 1 not at all.
27 argument:: inputbw
28 0 to 1, same as damping control, but on the input signal.
29 argument:: spread
30 a control on the stereo spread and diffusion of the reverb signal.
31 argument:: drylevel
32 amount of dry signal.
33 argument:: earlyreflevel
34 amount of early reflection level.
35 argument:: taillevel
36 amount of tail level.
37 argument:: maxroomsize
38 to set the size of the delay lines. Defaults to roomsize + 1.
40 examples::
41 code::
42 SynthDef(\test, {arg roomsize, revtime, damping, inputbw, spread = 15, drylevel, earlylevel,
43                 taillevel;
44         var a = Resonz.ar(
45                 Array.fill(4, {Dust.ar(2)}), 1760 * [1, 2, 4, 8], 0.01).sum * 10;
46 //      var a = SoundIn.ar(0);
47 //      var a = PlayBuf.ar(1, 0);
48         Out.ar(0, GVerb.ar(
49                 a,
50                 roomsize,
51                 revtime,
52                 damping,
53                 inputbw,
54                 spread,
55                 drylevel.dbamp,
56                 earlylevel.dbamp,
57                 taillevel.dbamp,
58                 roomsize, 0.3) + a)}).add
60 s = Server.internal.boot;
61 s.scope(2);
63 // bathroom
64 a = Synth(\test, [\roomsize, 5, \revtime, 0.6, \damping, 0.62, \inputbw, 0.48, \drylevel -6, \earlylevel, -11, \taillevel, -13]);
65 a.free;
67 //living room
68 a = Synth(\test, [\roomsize, 16, \revtime, 1.24, \damping, 0.10, \inputbw, 0.95, \drylevel -3, \earlylevel, -15, \taillevel, -17]);
69 a.free;
71 //church
72 a = Synth(\test, [\roomsize, 80, \revtime, 4.85, \damping, 0.41, \inputbw, 0.19, \drylevel -3, \earlylevel, -9, \taillevel, -11]);
73 a.free;
75 // cathedral
76 a = Synth(\test, [\roomsize, 243, \revtime, 1, \damping, 0.1, \inputbw, 0.34, \drylevel -3, \earlylevel, -11, \taillevel, -9]);
77 a.free
79 // canyon
80 a = Synth(\test, [\roomsize, 300, \revtime, 103, \damping, 0.43, \inputbw, 0.51, \drylevel -5, \earlylevel, -26, \taillevel, -20]);
81 a.free;
83 s.quit;