src/oscillators: Any PCM with at least 512 samples can be a wavetable. - #997
Conversation
⛓️ tulipcc integration PR openedThis merge was pinned into tulipcc for full-system CI: shorepine/tulipcc#1254 Test it there and merge that PR to move tulipcc onto this AMY. |
🎛️ AMY HW CI (AMYboard bench)Flashed this PR's AMY (LoadTestChord: 6-voice Juno ✅ PASS — the bench ran the test to completion.
Full chord settled render μs: 2740 (was 2741, Δ -0.0%) (peak 2748, 39 samples) ⬇️ Artifacts: serial log · load trace · report Self-hosted bench (amyboardci). FAIL means only that the test could not run — the load values are informational, with no threshold and no audio compare. See |
Loosens the conditions on what can be treated as a wavetable, following request of @ernesto on Discord.
The code assumes each cycle in the wavetable file is exactly 256 samples. However, the PCM file can contain any number of them, as long as it has at least 2 (so there are at least two wave shapes to interpolate).
On playback, the
phasevalue interpolates within the table, dividing the range between 0.0 and 1.0 into as many interpolation intervals as there are distinct waveforms in the wavetable (minus 1).To play an arbitrary sound as a wavetable: