Wavetable oscillator: a single-cycle table read by phase, which the spectral tables only approximate #115
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bcox/tymbal#115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
bcox asked on 2026-10-05 for a ticket for each engine gap that the third set of instruments in his
moregaps.mdleft without one. Engine claims are from reading the tree atf6aa8ebaonmain. Instrument claims are from that day's research, read mostly as archive.org OCR of the manuals by research agents and not re-checked; the sources are listed in that document. Nothing here is built, measured or listened to.Summary
VaShapereserves the slot: "A wavetable shape appends here rather than replacing anything" (dsp/va_oscillator.h:34-36). Nothing is behind it. What the engine has is the FM pair'sSpectralTable, a sequence of spectra crossfaded harmonic by harmonic, each harmonic a signed amplitude and a phase (dsp/spectrum.h:1-13), 512 harmonics by 32 waves (plugin/program.h:71,:97). That holds any single cycle's shape up to its harmonic count, band-limited by construction. It is not a table read in time, and six instruments in the third set are built on one.gaps.mdlists the family.What a spectral table cannot do
What the instruments do
The work, as a sketch
VaShape::kWavetable: a bank of single-cycle tables, a wave-position lane that crossfades adjacent waves (the Pro 3) or selects one (the VS), read by the oscillator's Q0.32 phase with linear interpolation. Everything else the oscillator has -- sync, lock, ring, cross-mod, the mix buses, footage -- applies as it does to any phase shape.kNyquistIncrementalready does for the additive oscillator. A spectrum gives one cycle per octave by one inverse sum offline, so the FM pair's tables could be the source of the band-limited form.dsp/sample_slot.h), flat and bounded; on the fabric a table is a RAM read per sample per oscillator, and the per-octave form multiplies it by the octaves.format/, exchangeable as tables and materials are.Open
moregaps.md), or written byresynth/.Related
moregaps.md; it wants this oscillator to be one.