tags: wavetable-synthesis dsp

Index increment

The index increment in [wavetable synthesis] is the amount of change for an index to a [wave table] for each [sample].

$$ k_{inc} = \frac{fL}{f_s} $$

Derivation:

Index increment derivation

Index increment and [phase increment] are essentially the same thing, where index increment has an implementation meaning whereas phase increment has a physical meaning (in relation to [phase]).

Directly from source:

When a key is pressed, we set an index variable to 0. For each sample, we increase the index variable by $k{inc}$ and do a [lookup]. As long as the key is pressed, $k{inc}$ is nonzero and we perform the wave table lookup. When index exceeds the wave table size, we need to bring it back to the $[0,L)$ range. In implementation, we can keep subtracting $L$ as long as index is greater or equal to $L$ or we can use the fmod operation. This “index wrap” results from the phase wrap which we discussed below Equation 5; since the signal is periodic, we can shift its phase by the period without changing the resulting signal.

Sources