OpenWareLaboratory
|
VOSIM-type oscillator based on Rob Hordijk's Nord Modular patch. More...
Public Member Functions | |
float | generate () |
Produce the next consecutive sample. More... | |
float | generate (float fm) |
Produce a sample with frequency modulation. More... | |
void | generate (FloatArray output) |
Produce a block of samples. More... | |
void | generate (FloatArray output, FloatArray input) |
Produce a block of samples with frequency modulation. More... | |
float | getFormant1 () |
float | getFormant2 () |
float | getFrequency () |
Get oscillator frequency in Hertz. More... | |
float | getNextSample () |
float | getNextSample (float fm) |
float | getPhase () |
Get current oscillator phase in radians. More... | |
float | getSample () |
float | getSampleRate () |
void | getSamples (FloatArray output) |
void | getSamples (FloatArray output, FloatArray fm) |
void | reset () |
Reset oscillator (typically resets phase) More... | |
void | setFormant1 (float frequency) |
void | setFormant2 (float frequency) |
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... | |
void | setWaveshape (float value) |
VosimOscillator (SineOscillator *osc2, SineOscillator *osc1) | |
Static Public Member Functions | |
static VosimOscillator * | create (float sr) |
static void | destroy (VosimOscillator *obj) |
Data Fields | |
float | waveshape = 0 |
Static Public Attributes | |
static constexpr float | begin_phase = 0 |
static constexpr float | end_phase = 1 |
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 |
float | mul |
float | phase |
VOSIM-type oscillator based on Rob Hordijk's Nord Modular patch.
Definition at line 11 of file VosimOscillator.h.
|
inline |
Definition at line 16 of file VosimOscillator.h.
Referenced by create().
|
inlinestatic |
Definition at line 101 of file VosimOscillator.h.
References OscillatorTemplate< SineOscillator >::create(), OscillatorTemplate< T, BaseOscillator, Sample >::setSampleRate(), and VosimOscillator().
|
inlinestatic |
Definition at line 108 of file VosimOscillator.h.
References OscillatorTemplate< SineOscillator >::destroy().
|
inlinevirtual |
Produce the next consecutive sample.
Reimplemented from SignalGenerator.
Definition at line 63 of file VosimOscillator.h.
|
inlinevirtual |
Produce a sample with frequency modulation.
Implements Oscillator.
Definition at line 44 of file VosimOscillator.h.
References begin_phase, end_phase, SineOscillator::generate(), OscillatorTemplate< VosimOscillator >::getPhase(), getSample(), OscillatorTemplate< VosimOscillator >::incr, OscillatorTemplate< VosimOscillator >::phase, OscillatorTemplate< T, BaseOscillator, Sample >::reset(), and OscillatorTemplate< T, BaseOscillator, Sample >::setPhase().
|
inlinevirtual |
Produce a block of samples.
Reimplemented from SignalGenerator.
Definition at line 66 of file VosimOscillator.h.
References begin_phase, end_phase, SineOscillator::generate(), SimpleArray< T >::getData(), getSample(), SimpleArray< T >::getSize(), OscillatorTemplate< VosimOscillator >::incr, OscillatorTemplate< VosimOscillator >::phase, OscillatorTemplate< T, BaseOscillator, Sample >::reset(), and waveshape.
|
inlinevirtual |
Produce a block of samples with frequency modulation.
Reimplemented from Oscillator.
Definition at line 83 of file VosimOscillator.h.
References begin_phase, end_phase, SineOscillator::generate(), SimpleArray< T >::getData(), getSample(), SimpleArray< T >::getSize(), OscillatorTemplate< VosimOscillator >::incr, OscillatorTemplate< VosimOscillator >::phase, OscillatorTemplate< T, BaseOscillator, Sample >::reset(), and waveshape.
|
inline |
Definition at line 32 of file VosimOscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::getFrequency().
|
inline |
Definition at line 35 of file VosimOscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::getFrequency().
|
inlinevirtualinherited |
Get oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 86 of file Oscillator.h.
|
inlineinherited |
Definition at line 55 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 57 of file Oscillator.h.
References Oscillator::generate().
|
inlinevirtualinherited |
Get current oscillator phase in radians.
Implements Oscillator.
Definition at line 92 of file Oscillator.h.
|
inline |
Definition at line 21 of file VosimOscillator.h.
References OscillatorTemplate< VosimOscillator >::phase, and waveshape.
Referenced by generate().
|
inlineinherited |
Definition at line 80 of file Oscillator.h.
|
inlineinherited |
Definition at line 59 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 63 of file Oscillator.h.
References Oscillator::generate().
|
inlinestaticprotectedinherited |
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.
|
inlinevirtualinherited |
Reset oscillator (typically resets phase)
Implements Oscillator.
Definition at line 96 of file Oscillator.h.
|
inline |
Definition at line 38 of file VosimOscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::setFrequency().
|
inline |
Definition at line 41 of file VosimOscillator.h.
References OscillatorTemplate< T, BaseOscillator, Sample >::setFrequency().
|
inlinevirtualinherited |
Set oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 83 of file Oscillator.h.
|
inlinevirtualinherited |
Set current oscillator phase in radians.
phase | a value between 0 and 2*pi |
Implements Oscillator.
Definition at line 89 of file Oscillator.h.
|
inlinevirtualinherited |
Set oscillator sample rate.
Reimplemented from Oscillator.
Definition at line 75 of file Oscillator.h.
|
inline |
Definition at line 29 of file VosimOscillator.h.
References waveshape.
|
staticconstexpr |
Definition at line 18 of file VosimOscillator.h.
Referenced by generate().
|
staticconstexpr |
Definition at line 19 of file VosimOscillator.h.
Referenced by generate().
|
protectedinherited |
Definition at line 73 of file Oscillator.h.
|
protectedinherited |
Definition at line 71 of file Oscillator.h.
|
protectedinherited |
Definition at line 72 of file Oscillator.h.
float VosimOscillator::waveshape = 0 |
Definition at line 20 of file VosimOscillator.h.
Referenced by generate(), getSample(), and setWaveshape().