OpenWareLaboratory
ChirpOscillator Class Reference
Inheritance diagram for ChirpOscillator:
Collaboration diagram for ChirpOscillator:

Public Member Functions

 ChirpOscillator (float sr=48000)
 
float generate ()
 Produce the next consecutive sample. More...
 
float 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 phase)
 Set current oscillator phase in radians. More...
 
void setRate (float r)
 Set rate of change: positive for ascending chirp, negative for descending. More...
 
void setSampleRate (float sample_rate)
 Set oscillator sample rate. More...
 
void trigger ()
 

Static Public Member Functions

static ChirpOscillatorcreate (float sr)
 
static void destroy (ChirpOscillator *osc)
 

Detailed Description

Definition at line 6 of file ChirpOscillator.h.

Constructor & Destructor Documentation

◆ ChirpOscillator()

ChirpOscillator::ChirpOscillator ( float  sr = 48000)
inline

Definition at line 14 of file ChirpOscillator.h.

Referenced by create().

Member Function Documentation

◆ create()

static ChirpOscillator* ChirpOscillator::create ( float  sr)
inlinestatic

Definition at line 64 of file ChirpOscillator.h.

References ChirpOscillator().

◆ destroy()

static void ChirpOscillator::destroy ( ChirpOscillator osc)
inlinestatic

Definition at line 67 of file ChirpOscillator.h.

◆ generate() [1/4]

float ChirpOscillator::generate ( )
inlinevirtual

Produce the next consecutive sample.

Reimplemented from SignalGenerator.

Definition at line 50 of file ChirpOscillator.h.

References M_PI.

◆ generate() [2/4]

float ChirpOscillator::generate ( float  fm)
inlinevirtual

Produce a sample with frequency modulation.

Implements Oscillator.

Definition at line 58 of file ChirpOscillator.h.

◆ generate() [3/4]

◆ generate() [4/4]

virtual void Oscillator::generate ( FloatArray  output,
FloatArray  fm 
)
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().

◆ getFrequency()

float ChirpOscillator::getFrequency ( )
inlinevirtual

Get oscillator frequency in Hertz.

Implements Oscillator.

Definition at line 20 of file ChirpOscillator.h.

◆ getNextSample() [1/2]

float Oscillator::getNextSample ( )
inlineinherited

Definition at line 55 of file Oscillator.h.

References Oscillator::generate().

◆ getNextSample() [2/2]

float Oscillator::getNextSample ( float  fm)
inlineinherited

Definition at line 57 of file Oscillator.h.

References Oscillator::generate().

◆ getPhase()

float ChirpOscillator::getPhase ( )
inlinevirtual

Get current oscillator phase in radians.

Returns
a value between 0 and 2*pi

Implements Oscillator.

Definition at line 44 of file ChirpOscillator.h.

◆ getSampleRate()

float ChirpOscillator::getSampleRate ( )
inline

Definition at line 26 of file ChirpOscillator.h.

◆ getSamples() [1/2]

void Oscillator::getSamples ( FloatArray  output)
inlineinherited

Definition at line 59 of file Oscillator.h.

References Oscillator::generate().

◆ getSamples() [2/2]

void Oscillator::getSamples ( FloatArray  output,
FloatArray  fm 
)
inlineinherited

Definition at line 63 of file Oscillator.h.

References Oscillator::generate().

◆ reset()

void ChirpOscillator::reset ( )
inlinevirtual

Reset oscillator (typically resets phase)

Implements Oscillator.

Definition at line 41 of file ChirpOscillator.h.

Referenced by trigger().

◆ setFrequency()

void ChirpOscillator::setFrequency ( float  value)
inlinevirtual

Set oscillator frequency in Hertz.

Implements Oscillator.

Definition at line 16 of file ChirpOscillator.h.

References M_PI.

◆ setPhase()

void ChirpOscillator::setPhase ( float  phase)
inlinevirtual

Set current oscillator phase in radians.

Parameters
phasea value between 0 and 2*pi

Implements Oscillator.

Definition at line 47 of file ChirpOscillator.h.

◆ setRate()

void ChirpOscillator::setRate ( float  r)
inline

Set rate of change: positive for ascending chirp, negative for descending.

+1 doubles frequency in one second -1 halves frequency in one second

Definition at line 34 of file ChirpOscillator.h.

◆ setSampleRate()

void ChirpOscillator::setSampleRate ( float  value)
inlinevirtual

Set oscillator sample rate.

Reimplemented from Oscillator.

Definition at line 23 of file ChirpOscillator.h.

◆ trigger()

void ChirpOscillator::trigger ( )
inline

Definition at line 37 of file ChirpOscillator.h.

References M_PI, and reset().


The documentation for this class was generated from the following file: