Manages an array of tables that is used for bandlimited wavetable synthesis. Supports table lookup with linear interpolation.
Show All |
Public Member Functions
-
WaveTable2d (size_t sampleRate, size_t tableSize, size_t numTables)
-
voidfillBandlimited (WaveformType type)
-
floatlookupBandlimited (float phase, float f0) const
-
floatlookupBandlimited (float *outputArray, size_t outputLength, float currentPhase, float f0) const
-
floatlookupBandlimited (float *outputArray, size_t outputLength, float currentPhase, const float *f0Array) const
-
voidcopyTo (float *array, size_t tableIndex) const
-
voidcopyFrom (const float *array, size_t tableIndex)
-
floatcalcBandlimitedTableIndex (float f0) const
-
size_tgetNumTables () const
-
voidresize (size_t tableSize)
-
voidfillSine ()
-
size_tgetSampleRate () const
-
size_tgetTableSize () const
-
floatlookup (float phase) const
-
floatlookup (float *outputArray, size_t outputLength, float currentPhase, float freq) const
-
floatlookup (float *outputArray, size_t outputLength, float currentPhase, const float *freqArray) const
-
voidcopyTo (float *array) const
-
voidcopyFrom (const float *array)
Protected Member Functions
-
voidcalcLimits ()
-
voidfillBandLimitedTable (WaveformType type, float *table, size_t numPartials)
-
size_tgetMaxHarmonicsForTable (size_t tableIndex) const
-
const float *getBandLimitedTable (float f0) const
-
std::tuple< const float *, const float *, float >getBandLimitedTablesLerp (float f0) const
-
voidfillSinesum (float *array, size_t length, const std::vector< float > &partialCoeffs)