VA oscillator tuning: a beat offset in hertz, and coarse beyond 48 semitones #154

Open
opened 2026-10-06 16:24:13 +00:00 by bcox · 0 comments
Owner

bcox asked on 2026-10-06 for a ticket for each gap docs/feature-survey.md names without one, whether or not it is ever done. Engine claims are from reading the tree at 6a3fede9 on main. Instrument claims are from that document's research, read from the manuals by research agents and not re-checked; the sources are listed there. Nothing here is built, measured or listened to.

Summary

An oscillator's tuning is coarse semitones, 48 either way, and fine cents (VaOscillator::Patch::coarse_semitones, fine_cents). The Moog One's BEAT FREQ is +-7 Hz, a constant beat across the keyboard that cents cannot give; the Andromeda's semitone range is +-60 and its fine is in "millicents", which the double holds.

What the tree has

  • Coarse clamped at +-48 (dsp/va_oscillator.h, and the editor's range); kSharedPitch in octaves for everything that rides the pitch lane.
  • The shifter's carrier is linear in hertz (CarrierIncrement in dsp/shifter_layer.h), so a hertz offset has a precedent as an increment added to a phase increment.

The work, as a sketch

  • A beat_hz field added as an increment after the exponential tuning, as the shifter adds its carrier; and widening coarse to +-60.

Open

Whether the range past 48 semitones collides with kNyquistIncrement on high keys, which the clamp exists to avoid.

bcox asked on 2026-10-06 for a ticket for each gap `docs/feature-survey.md` names without one, whether or not it is ever done. Engine claims are from reading the tree at `6a3fede9` on `main`. Instrument claims are from that document's research, read from the manuals by research agents and not re-checked; the sources are listed there. **Nothing here is built, measured or listened to.** ## Summary An oscillator's tuning is coarse semitones, 48 either way, and fine cents (`VaOscillator::Patch::coarse_semitones`, `fine_cents`). The Moog One's BEAT FREQ is +-7 Hz, a constant beat across the keyboard that cents cannot give; the Andromeda's semitone range is +-60 and its fine is in "millicents", which the double holds. ## What the tree has - Coarse clamped at +-48 (`dsp/va_oscillator.h`, and the editor's range); `kSharedPitch` in octaves for everything that rides the pitch lane. - The shifter's carrier is linear in hertz (`CarrierIncrement` in `dsp/shifter_layer.h`), so a hertz offset has a precedent as an increment added to a phase increment. ## The work, as a sketch - A `beat_hz` field added as an increment after the exponential tuning, as the shifter adds its carrier; and widening coarse to +-60. ## Open Whether the range past 48 semitones collides with `kNyquistIncrement` on high keys, which the clamp exists to avoid.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/tymbal#154
No description provided.