OpenWareLaboratory
|
Public Member Functions | |
Sample | generate () |
Produce the next consecutive sample. More... | |
Sample | generate (float fm) |
Produce a sample with frequency modulation. More... | |
virtual void | generate (FloatArray output) |
Produce a block of samples. More... | |
virtual void | generate (FloatArray output, FloatArray fm) |
Produce a block of samples with frequency modulation. More... | |
float | getFrequency () |
Get oscillator frequency in Hertz. More... | |
float | getNextSample () |
float | getNextSample (float fm) |
float | getPhase () |
Get current oscillator phase in radians. More... | |
float | getSampleRate () |
void | getSamples (FloatArray output) |
void | getSamples (FloatArray output, FloatArray fm) |
void | reset () |
Reset oscillator (typically resets phase) More... | |
void | setFrequency (float freq) |
Set oscillator frequency in Hertz. More... | |
void | setPhase (float ph) |
Set current oscillator phase in radians. More... | |
void | setSampleRate (float sr) |
Set oscillator sample rate. More... | |
Static Public Member Functions | |
static T * | create (float sr) |
static void | destroy (T *osc) |
Static Protected Member Functions | |
static float | polyblep (float t, float dt) |
Calculate poly blep antialiasing compensation on normalised (to range [0, 1]) phase and phase increment (angular rate) values. More... | |
Protected Attributes | |
float | incr = 0 |
float | mul = 1 |
float | phase = 0 |
Definition at line 69 of file Oscillator.h.
|
inlinestatic |
Definition at line 115 of file Oscillator.h.
|
inlinestatic |
Definition at line 120 of file Oscillator.h.
|
inlinevirtual |
Produce the next consecutive sample.
Reimplemented from SignalGenerator.
Definition at line 99 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::incr, and OscillatorTemplate< T, BaseOscillator, Sample >::phase.
|
inlinevirtual |
Produce a sample with frequency modulation.
Implements Oscillator.
Definition at line 106 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::incr, and OscillatorTemplate< T, BaseOscillator, Sample >::phase.
|
inlinevirtualinherited |
Produce a block of samples.
Reimplemented in VosimOscillator, VoiceAllocatorSignalGenerator< Allocator, SynthVoice, VOICES >, AntialiasedSquareWaveOscillator, SineOscillator, SampleOscillator< im >, AntialiasedRampOscillator, PolyBlepOscillator, and MorphingOscillator.
Definition at line 25 of file SignalGenerator.h.
References SignalGenerator::generate(), and SimpleArray< T >::getSize().
|
inlinevirtualinherited |
Produce a block of samples with frequency modulation.
Reimplemented in VosimOscillator, SineOscillator, SampleOscillator< im >, PolyBlepOscillator, and MorphingOscillator.
Definition at line 50 of file Oscillator.h.
References Oscillator::generate(), and SimpleArray< T >::getSize().
|
inlinevirtual |
Get oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 86 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::incr, and OscillatorTemplate< T, BaseOscillator, Sample >::mul.
Referenced by VosimOscillator::getFormant1(), VosimOscillator::getFormant2(), and OscillatorTemplate< T, BaseOscillator, Sample >::setSampleRate().
|
inlineinherited |
Definition at line 55 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 57 of file Oscillator.h.
References Oscillator::generate().
|
inlinevirtual |
Get current oscillator phase in radians.
Implements Oscillator.
Definition at line 92 of file Oscillator.h.
References M_PI, and OscillatorTemplate< T, BaseOscillator, Sample >::phase.
|
inline |
Definition at line 80 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::mul.
|
inlineinherited |
Definition at line 59 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 63 of file Oscillator.h.
References Oscillator::generate().
|
inlinestaticprotected |
Calculate poly blep antialiasing compensation on normalised (to range [0, 1]) phase and phase increment (angular rate) values.
Definition at line 128 of file Oscillator.h.
|
inlinevirtual |
Reset oscillator (typically resets phase)
Implements Oscillator.
Definition at line 96 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::phase.
Referenced by VosimOscillator::generate(), and AntialiasedRampOscillator::reset().
|
inlinevirtual |
Set oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 83 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::incr, and OscillatorTemplate< T, BaseOscillator, Sample >::mul.
Referenced by VosimOscillator::setFormant1(), VosimOscillator::setFormant2(), and OscillatorTemplate< T, BaseOscillator, Sample >::setSampleRate().
|
inlinevirtual |
Set current oscillator phase in radians.
phase | a value between 0 and 2*pi |
Implements Oscillator.
Definition at line 89 of file Oscillator.h.
References M_PI, and OscillatorTemplate< T, BaseOscillator, Sample >::phase.
Referenced by VosimOscillator::generate(), and AntialiasedRampOscillator::setPhase().
|
inlinevirtual |
Set oscillator sample rate.
Reimplemented from Oscillator.
Definition at line 75 of file Oscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::getFrequency(), OscillatorTemplate< T, BaseOscillator, Sample >::mul, and OscillatorTemplate< T, BaseOscillator, Sample >::setFrequency().
Referenced by VosimOscillator::create().
|
protected |
Definition at line 73 of file Oscillator.h.
Referenced by OscillatorTemplate< T, BaseOscillator, Sample >::generate(), QuadratureSineOscillator::generate(), FeedbackQuadratureSineOscillator::generate(), ComplexFeedbackQuadratureSineOscillator::generate(), OscillatorTemplate< T, BaseOscillator, Sample >::getFrequency(), and OscillatorTemplate< T, BaseOscillator, Sample >::setFrequency().
|
protected |
Definition at line 71 of file Oscillator.h.
Referenced by OscillatorTemplate< T, BaseOscillator, Sample >::getFrequency(), OscillatorTemplate< T, BaseOscillator, Sample >::getSampleRate(), OscillatorTemplate< T, BaseOscillator, Sample >::setFrequency(), and OscillatorTemplate< T, BaseOscillator, Sample >::setSampleRate().
|
protected |
Definition at line 72 of file Oscillator.h.
Referenced by OscillatorTemplate< T, BaseOscillator, Sample >::generate(), QuadratureSineOscillator::generate(), FeedbackQuadratureSineOscillator::generate(), ComplexFeedbackQuadratureSineOscillator::generate(), OscillatorTemplate< T, BaseOscillator, Sample >::getPhase(), QuadratureSineOscillator::getSample(), FeedbackQuadratureSineOscillator::getSample(), ComplexFeedbackQuadratureSineOscillator::getSample(), OscillatorTemplate< T, BaseOscillator, Sample >::reset(), and OscillatorTemplate< T, BaseOscillator, Sample >::setPhase().