73 lines
1.2 KiB
Text
73 lines
1.2 KiB
Text
class:: SyncSaw
|
|
summary:: Hard sync sawtooth wave.
|
|
related:: Classes/Saw, Classes/VarSaw, Classes/LFSaw
|
|
categories:: UGens>Generators>Deterministic
|
|
|
|
|
|
Description::
|
|
|
|
A sawtooth wave that is hard synched to a fundamental pitch. This
|
|
produces an effect similar to moving formants or pulse width modulation.
|
|
The sawtooth oscillator has its phase reset when the sync oscillator
|
|
completes a cycle. This is not a band limited waveform, so it may alias.
|
|
|
|
|
|
classmethods::
|
|
|
|
method::ar, kr
|
|
|
|
argument::syncFreq
|
|
|
|
Frequency of the fundamental.
|
|
|
|
|
|
argument::sawFreq
|
|
|
|
Frequency of the slave synched sawtooth wave. Should always be
|
|
greater than
|
|
code::syncFreq:: .
|
|
|
|
|
|
argument::mul
|
|
|
|
Output will be multiplied by this value.
|
|
|
|
|
|
argument::add
|
|
|
|
This value will be added to the output.
|
|
|
|
|
|
Examples::
|
|
|
|
code::
|
|
|
|
{ SyncSaw.ar(100, Line.kr(100, 800, 12), 0.1) }.play;
|
|
|
|
|
|
(
|
|
plot { [
|
|
SyncSaw.ar(800, 1200),
|
|
Impulse.ar(800) // to show sync rate
|
|
] }
|
|
)
|
|
|
|
(
|
|
plot { [
|
|
SyncSaw.ar(800, Line.kr(800, 1600, 0.01)), // modulate saw freq
|
|
Impulse.ar(800) // to show sync rate
|
|
] }
|
|
)
|
|
|
|
// scoping the saw: hit 's' when focused on the scope window to compare the channels
|
|
(
|
|
scope {
|
|
var freq = 400;
|
|
[
|
|
SyncSaw.ar(freq, freq * MouseX.kr(1, 3)), // modulate saw freq
|
|
Impulse.ar(freq) // to show sync rate
|
|
] * 0.3 }
|
|
)
|
|
|
|
::
|
|
|