Calibrate OscA pitch depth, G1 pre-roll phases and control levels (v25) #12
Loading…
Reference in a new issue
No description provided.
Delete branch "calibration-v25"
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?
Scope
Calibration round v25 of the shared G1 → Faust model laws, fit from G1-Emu measurements. Both the Faust export and the Python renderer change together.
capture_time.docs/G1_PARITY_MATRIX.{json,md}from the v25 sweep.Not addressed this round: PercOsc (95) pitch law, the OscA FMA input, Phaser (102) notches, the Expander (105) gate parameter, and the end level of Multi-Env segments, which sits 2 steps low.
docs/G1_BASELINE_STATUS.jsonis unchanged because regenerating it needs a full four-shard baseline run.Testing
python3 -m unittest discover -s testspasses all 129 tests. New tests cover the pitch-step floor, the depth table, the control fraction, ClkGen on patch time, LFOB/LFOC phases and waveform order, OscA start phase and the Digitizer clock.module-baseline-plan --control-observer-ready --physical-output-source-ready --lfoa-modulation-ready) and swept all 1,489 probes. No probe that passed in v24 fails in v25.tools/export_public.pyverifies a clean public tree.Impact Statement
The Faust export and the Python renderer move closer to G1 on oscillator pitch modulation and on the startup phase of free-running sources. Faust renders get 0.31 s longer, because the pre-roll is computed and then discarded. This PR adds no private data (plans, fixtures, captures or results stay under
~/.nardwahl). Sweep verdicts are for triage only, so no module is promoted to reference-compared.