scide: implement selectionLength for openDocument
[supercollider.git] / HelpSource / Classes / FreeVerb2.schelp
blob9b5e1a447a1ca6436b880209c969f311d4e89d82
1 class:: FreeVerb2
2 summary:: A two-channel reverb
3 categories:: UGens>Reverbs
4 related:: Classes/FreeVerb, Classes/GVerb
6 description::
7 Coded from experiments with faust.
9 classmethods::
11 method:: ar
12 argument:: in
13 input signal channel 1.
14 argument:: in2
15 input signal channel 2.
16 argument:: mix
17 dry/wet balance. range 0..1.
18 argument:: room
19 room size. rage 0..1.
20 argument:: damp
21 Reverb HF damp. range 0..1.
22 argument::mul
23 argument::add
25 discussion::
26 Valid parameter range from 0 to 1. Values outside this range are clipped by the UGen.
28 examples::
29 code::
30 Server.default = s = Server.internal;
31 s.boot;
33 // FreeVerb2 - demo synthdef
35 SynthDef(\FreeVerb2x2, {|outbus, mix = 0.25, room = 0.15, damp = 0.5, amp = 1.0|
36         var signal;
38         signal = In.ar(outbus, 2);
40         ReplaceOut.ar(outbus,
41                 FreeVerb2.ar( // FreeVerb2 - true stereo UGen
42                         signal[0], // Left channel
43                         signal[1], // Right Channel
44                         mix, room, damp, amp)); // same params as FreeVerb 1 chn version
46 }).send(s);
49 // 2ch source
51 a = SynthDef(\src2x2, {
52         Out.ar(0,
53                 Decay.ar(Impulse.ar(1), 0.25, LFCub.ar(1200, 0, 0.1)) ! 2 +
54                 Pan2.ar(
55                         Decay.ar(Impulse.ar(1, pi), 0.1, WhiteNoise.ar(0.1)),
56                         LFNoise1.kr(0.5).range(-1, 1)
57                 )
58         )
59 }).play
62 // kick it in
63 z = Synth(\FreeVerb2x2, [\outbus, 0], addAction:\addToTail)
64 // experiment with some settings
65 z.set(\room, 0.7)
66 z.set(\mix, 0.33)
67 z.set(\damp, 0.9)
69 // silence
70 [a, z].do(_.free)
72 // crucial lib example
74 Patch({|mix =0.33, room = 0.25, damp = 0.7, amp = 0.1|
75         var signal;
77         signal = Decay.ar(Impulse.ar(1), 0.25, LFCub.ar(1200)) ! 2 +
78                 Pan2.ar(
79                         Decay.ar(Impulse.ar(1, pi), 0.1, WhiteNoise.ar),
80                         LFNoise1.kr(0.5).range(-1, 1)
81                 );
83         FreeVerb2.ar(
84                 signal[0], // Left channel
85                 signal[1], // Right Channel
86                 mix, room, damp, amp)
88 }).gui