57 lines
1.2 KiB
Text
57 lines
1.2 KiB
Text
class:: LFSaw
|
|
summary:: Sawtooth oscillator
|
|
related:: Classes/LFCub, Classes/LFPar, Classes/LFPulse, Classes/LFTri, Classes/Saw
|
|
categories:: UGens>Generators>Deterministic
|
|
|
|
|
|
Description::
|
|
|
|
A non-band-limited sawtooth oscillator. Output ranges from -1 to +1.
|
|
|
|
|
|
classmethods::
|
|
|
|
method::ar, kr
|
|
|
|
argument::freq
|
|
Frequency in Hertz.
|
|
|
|
argument::iphase
|
|
|
|
Initial phase offset. For efficiency reasons this is a value
|
|
ranging from 0 to 2.
|
|
Note:: enter "1" for an initial phase of 0 radiants.
|
|
A value of 0 would start the cycle at pi radiants. See the example below.::
|
|
|
|
argument::mul
|
|
Output will be multiplied by this value.
|
|
|
|
argument::add
|
|
This value will be added to the output.
|
|
|
|
Examples::
|
|
|
|
code::
|
|
{ LFSaw.ar(500, 1, 0.1) }.play
|
|
|
|
// used as both Oscillator and LFO:
|
|
{ LFSaw.ar(LFSaw.kr(4, 0, 200, 400), 0, 0.1) }.play
|
|
|
|
::
|
|
Display special behaviour of initial phase parameter:
|
|
code::
|
|
// 0.15 seconds of 3-channel buffer
|
|
b = Buffer.alloc(s, s.sampleRate * 0.15, 3);
|
|
|
|
(
|
|
// generate Signal
|
|
m = SynthDef ("help-lfsawphase", {|rate = 20|
|
|
var l;
|
|
l = LFSaw.ar(rate, [0, 1, 2]); // three channels, three phases
|
|
RecordBuf.ar(l, b, doneAction: Done.freeSelf, loop: 0);
|
|
Out.ar(0, l * -20.dbamp);
|
|
}).play(s);
|
|
)
|
|
|
|
b.plot; // see the difference
|
|
::
|