A drawn curve on any source: the Andromeda's tracking generator #152

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

The Andromeda A6's tracking generator takes any modulation source through a drawn curve of 2 to 16 points, interpolated or stepped, and offers the result as a source. Here a curve is one of five fixed shapes in the bank kCurve reads (kModCurveCount in dsp/mod_ops.h, tables in dsp/mod_curves.h generated from materials/mod_curves.h), and a piecewise shape composes approximately from kMin, kMax and kGreater across several entries.

What the tree has

  • ModOp::kCurve with a curve index and a parameter, kQuantize for stairs, kMin, kMax, kGreater.
  • The matrix's ruling that an op is stateless; a drawn table is stateless too.

The work, as a sketch

  • A per-patch curve table, 16 points in Q1.16 with linear interpolation, as a sixth curve the bank reads by index; or a small bank of them, each a patch asset like a spectral table, so a kCurve entry can name a drawn curve.
  • Stepped output is the drawn curve under kQuantize.

Open

How many drawn curves a patch holds, and whether the editor draws them or imports them.

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 The Andromeda A6's tracking generator takes any modulation source through a drawn curve of 2 to 16 points, interpolated or stepped, and offers the result as a source. Here a curve is one of five fixed shapes in the bank `kCurve` reads (`kModCurveCount` in `dsp/mod_ops.h`, tables in `dsp/mod_curves.h` generated from `materials/mod_curves.h`), and a piecewise shape composes approximately from `kMin`, `kMax` and `kGreater` across several entries. ## What the tree has - `ModOp::kCurve` with a curve index and a parameter, `kQuantize` for stairs, `kMin`, `kMax`, `kGreater`. - The matrix's ruling that an op is stateless; a drawn table is stateless too. ## The work, as a sketch - A per-patch curve table, 16 points in Q1.16 with linear interpolation, as a sixth curve the bank reads by index; or a small bank of them, each a patch asset like a spectral table, so a `kCurve` entry can name a drawn curve. - Stepped output is the drawn curve under `kQuantize`. ## Open How many drawn curves a patch holds, and whether the editor draws them or imports them.
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#152
No description provided.