48 lines
1.1 KiB
Text
48 lines
1.1 KiB
Text
class:: FSinOsc
|
|
summary:: Fast sine oscillator.
|
|
related:: Classes/SinOsc, Classes/SinOscFB
|
|
categories:: UGens>Generators>Deterministic
|
|
|
|
Description::
|
|
|
|
Very fast sine wave generator (2 PowerPC instructions per output sample!)
|
|
implemented using a ringing filter. This generates a much cleaner sine
|
|
wave than a table lookup oscillator and is a lot faster. However, the
|
|
amplitude of the wave will vary with frequency. Generally the amplitude
|
|
will go down as you raise the frequency and go up as you lower the frequency.
|
|
|
|
warning::
|
|
In the current implementation, the amplitude can blow up if the
|
|
frequency is modulated by certain alternating signals.
|
|
::
|
|
|
|
|
|
classmethods::
|
|
|
|
method::ar, kr
|
|
|
|
argument::freq
|
|
Frequency in Hertz.
|
|
|
|
argument::iphase
|
|
Initial phase offset.
|
|
|
|
argument::mul
|
|
Output will be multiplied by this value.
|
|
|
|
argument::add
|
|
This value will be added to the output.
|
|
|
|
|
|
Examples::
|
|
|
|
code::
|
|
{ FSinOsc.ar(800) * 0.2 }.play;
|
|
|
|
{ FSinOsc.ar(XLine.kr(200, 4000, 1)) * 0.2 }.play;
|
|
|
|
// loses amplitude towards the end
|
|
{ FSinOsc.ar(FSinOsc.ar(XLine.kr(4, 401, 8), 0.0, 200, 800)) * 0.2 }.play;
|
|
|
|
::
|
|
|