sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / SinOscFB.schelp
blobdd5b1fd87ed836d4560820cdb076cb78e303e007
1 class:: SinOscFB
2 summary:: Feedback FM oscillator
3 related:: Classes/SinOsc, Classes/FSinOsc, Classes/PMOsc
4 categories::  UGens>Generators>Deterministic, UGens>Generators>Chaotic
7 Description::
9 SinOscFB is a sine oscillator that has phase modulation feedback; its output plugs back into the phase input.
10 Basically this allows a modulation between a sine wave and a sawtooth like wave. Overmodulation causes chaotic oscillation. It may be useful if you want to simulate feedback FM synths.
15 classmethods::
17 method::ar, kr
19 argument::freq
21 The base frequency of the sine oscillator in Hertz.
23 argument::feedback
25 The second argument is the amplitude of phase feedback in radians.
27 argument::mul
29 Output will be multiplied by this value.
31 argument::add
33 This value will be added to the output after any multiplication.
36 Examples::
38 code::
41 {SinOscFB.ar(440,MouseX.kr(0,4))*0.1}.play
44 {SinOscFB.ar(MouseY.kr(10,1000,'exponential'),MouseX.kr(0.5pi,pi))*0.1}.play
47 {SinOscFB.ar(100*SinOscFB.ar(MouseY.kr(1,1000,'exponential'))+200,MouseX.kr(0.5pi,pi))*0.1}.play
50 //JMC original example
53 var f, s;
54 w = Window("scope test", Rect(128, 64, 680, 280));
56 n = SCScope(w, Rect(10,10,640,256));
57 n.background = Color.blue(0.2);
58 n.resize = 5;
59 w.front;
62 s = Server.internal;
63 s.boot;
65 s.sendMsg(\b_alloc, 0, 8192, 2);
68 var z;
69 z = SinOscFB.ar([400,301], MouseX.kr(0,4),0.3);
70 Out.ar(0, z);
71 ScopeOut.ar(z, 0);
72 }.play(s);