32 namespace cinder {
namespace audio {
42 void resize(
size_t tableSize );
52 float lookup(
float phase )
const;
53 float lookup(
float *outputArray,
size_t outputLength,
float currentPhase,
float freq )
const;
54 float lookup(
float *outputArray,
size_t outputLength,
float currentPhase,
const float *freqArray )
const;
56 void copyTo(
float *array )
const;
60 void fillSinesum(
float *array,
size_t length,
const std::vector<float> &partialCoeffs );
70 WaveTable2d(
size_t sampleRate,
size_t tableSize,
size_t numTables );
74 void resize(
size_t tableSize,
size_t numTables );
79 float lookupBandlimited(
float *outputArray,
size_t outputLength,
float currentPhase,
float f0 )
const;
80 float lookupBandlimited(
float *outputArray,
size_t outputLength,
float currentPhase,
const float *f0Array )
const;
82 void copyTo(
float *array,
size_t tableIndex )
const;
83 void copyFrom(
const float *array,
size_t tableIndex );
void fillBandlimited(WaveformType type)
Definition: WaveTable.cpp:203
void copyFrom(const float *array, size_t tableIndex)
Definition: WaveTable.cpp:416
size_t mSampleRate
Definition: WaveTable.h:62
float calcBandlimitedTableIndex(float f0) const
Definition: WaveTable.cpp:280
void copyTo(float *array, size_t tableIndex) const
Definition: WaveTable.cpp:409
size_t getTableSize() const
Definition: WaveTable.h:50
Manages an array of tables that is used for bandlimited wavetable synthesis. Supports table lookup wi...
Definition: WaveTable.h:68
void fillSinesum(float *array, size_t length, const std::vector< float > &partialCoeffs)
Definition: WaveTable.cpp:117
void copyTo(float *array) const
Definition: WaveTable.cpp:168
void resize(size_t tableSize, size_t numTables)
Definition: WaveTable.cpp:187
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: GLee.h:969
WaveTable2d(size_t sampleRate, size_t tableSize, size_t numTables)
Definition: WaveTable.cpp:182
const float * getBandLimitedTable(float f0) const
Definition: WaveTable.cpp:292
void resize(size_t tableSize)
Definition: WaveTable.cpp:100
void calcLimits()
Definition: WaveTable.cpp:423
float mMaxMidiRange
Definition: WaveTable.h:98
WaveTable(size_t mSampleRate, size_t tableSize)
Definition: WaveTable.cpp:86
size_t getNumTables() const
Definition: WaveTable.h:87
float mMinMidiRange
Definition: WaveTable.h:98
void fillSine()
Definition: WaveTable.cpp:109
void fillBandLimitedTable(WaveformType type, float *table, size_t numPartials)
Definition: WaveTable.cpp:226
GLuint GLsizei GLsizei * length
Definition: GLee.h:2313
size_t mNumTables
Definition: WaveTable.h:97
Manages a table that is used for wavetable synthesis. Supports table lookup with linear interpolation...
Definition: WaveTable.h:38
std::shared_ptr< class WaveTable2d > WaveTable2dRef
Definition: WaveTable.h:35
float lookupBandlimited(float phase, float f0) const
Definition: WaveTable.cpp:328
GLuint GLuint GLsizei GLenum type
Definition: GLee.h:963
BufferDynamic mBuffer
Definition: WaveTable.h:64
size_t getMaxHarmonicsForTable(size_t tableIndex) const
Definition: WaveTable.cpp:269
WaveformType
Identifiers for the classic waveform types.
Definition: WaveformType.h:29
void copyFrom(const float *array)
Definition: WaveTable.cpp:173
std::shared_ptr< class WaveTable > WaveTableRef
Definition: WaveTable.h:34
float mSamplePeriod
Definition: WaveTable.h:63
float lookup(float phase) const
Definition: WaveTable.cpp:135
size_t mTableSize
Definition: WaveTable.h:62
std::tuple< const float *, const float *, float > getBandLimitedTablesLerp(float f0) const
Definition: WaveTable.cpp:298
size_t getSampleRate() const
Definition: WaveTable.h:48
void setSampleRate(size_t sampleRate)
Does not update data, lookup will be inaccurate until next fill.
Definition: WaveTable.cpp:92