class library: SynthDef - lazy implementation of removeUGen
[supercollider.git] / HelpSource / Classes / SyncSaw.schelp
blobe10fe77ed5ab09daef2b793a1d2a6c8fc49da587
1 class:: SyncSaw
2 summary:: Hard sync sawtooth wave.
3 related:: Classes/Saw, Classes/VarSaw, Classes/LFSaw
4 categories::  UGens>Generators>Deterministic
7 Description::
9 A sawtooth wave that is hard synched to a fundamental pitch. This
10 produces an effect similar to  moving formants or pulse width modulation.
11 The sawtooth oscillator has its phase reset when the sync oscillator
12 completes a cycle. This is not a band limited waveform, so it may alias.
15 classmethods::
17 method::ar, kr
19 argument::syncFreq
21 Frequency of the fundamental.
24 argument::sawFreq
26 Frequency of the slave synched sawtooth wave. Should always be
27 greater than
28 code::syncFreq:: .
31 argument::mul
33 Output will be multiplied by this value.
36 argument::add
38 This value will be added to the output.
41 Examples::
43 code::
45 { SyncSaw.ar(100, Line.kr(100, 800, 12), 0.1) }.play;
49 plot { [
50         SyncSaw.ar(800, 1200),
51         Impulse.ar(800) // to show sync rate
52 ] }
56 plot { [
57         SyncSaw.ar(800, Line.kr(800, 1600, 0.01)), // modulate saw freq
58         Impulse.ar(800) // to show sync rate
59 ] }
62 // scoping the saw: hit 's' when focused on the scope window to compare the channels
64 scope {
65         var freq = 400;
66         [
67         SyncSaw.ar(freq, freq * MouseX.kr(1, 3)), // modulate saw freq
68         Impulse.ar(freq) // to show sync rate
69 ] * 0.3 }