Analog quirks: shape every instrument toward its hardware #4
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?
Every instrument here is built "clean": ideal waveforms, linear filters but for the four-pole filter's limited feedback, straight-line envelopes, and placeholder curves. CLAUDE.md says this is deliberate until the hardware has been measured, and that each quirk of an original gets a switch of its own, not one switch for the whole instrument.
This ticket stands for all of that work, on all five instruments. It is deliberately not a list. As a quirk is understood (measured from hardware, read from a service manual, or heard on a recording), split it out into a ticket of its own and do it there.
Where the known gaps are written down today:
engine/andinstruments/*/, which says what is a placeholder and what is a plain choice;Rules that apply to every split-out ticket: provenance rule 3 (curves come from published manuals or from measuring a real instrument's audio, never from a ROM or firmware), and no shaping parameters invented ahead of the measurements.
Parking #4 here on 2026-10-18, left open. Where it stands, so it can be picked up again.
Done (on main, through
1cd6096; CLAUDE.md has the detail of each):kOta) and the transistor ladder (kLadder) inengine/four_pole_filter.h; also inengine/sallen_key_filter.h,engine/state_variable_filter.handengine/multimode_ladder.h. Each instrument hasfilter.saturation, at nothing as it comes, and renders byte for byte as before at nothing.--config=no_analogcompiles it out. mini-Bit'sfilter.chipchooses between the CEM3328 and the SSM2044, and the SSM2044 is there for the Mono/Poly and Polysix to reuse.engine/mixer_drive.h) on every instrument with a mixer ahead of an analog filter, and the 2600's filter input overdriving.engine/vco_symmetry.h) on the Prophets, the Jupiters and the SH-101; the JX ramp spread; the Juno ramp tracking and bend; the 2600's VCO-2 fold and sine shape; the Prodigy's triangle fold.engine/drift.h) on fifteen instruments, with thevariance.*drift settings. Retune comes from the page button, MIDI Tune Request (F6),--retune-ccand the automatablevariance.retune. The Juno has the fullvariance.*set.Decided not to model (recorded in CLAUDE.md):
Still open on #4, not started: