23template<u
int16_t Size>
32 const float*
table()
const {
return table_; }
39 float read(uint32_t phase)
const {
58 void read_block(
const uint32_t* phases,
float* out, uint16_t frames)
const {
59 for (uint16_t i = 0; i < frames; ++i) {
65 const float* table_ =
nullptr;
float read(uint32_t phase) const
Read a single sample with linear interpolation.
float read_cubic(uint32_t phase) const
Read a single sample with cubic Hermite interpolation.
void read_block(const uint32_t *phases, float *out, uint16_t frames) const
Read a block of samples using linear interpolation.
void set_table(const float *table)
Set the wavetable to read from (must have Size+1 guard points for linear)
const float * table() const
Current table pointer.
uint16_t lookup_linear(const uint16_t *table, uint32_t phase)
DSP atoms for audio signal processing.