Drive baseline probes by input role and calibrate the inputs they exposed #13
Loading…
Reference in a new issue
No description provided.
Delete branch "baseline-inputs"
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
Baseline probes now drive each probed input with the stimulus its role needs. The models those stimuli exposed are calibrated against G1-Emu, each in both
export_faustand itsrender_module_outputmirror.BASELINE_PROBE_STIMULI):trig/trigger/retrig→ ClkGen.gate→ Keyboard gate (port 1).vel→ Keyboard velocity (port 2).g1_env_adsrre-attacks from its current level.A>=Blogic output (per Nomad2026), which makes it control-observable.approximate, not Disting-released.--input-sine 220(L 220 Hz, R 440 Hz). The model renders the same unit sines.No tolerance was widened. No numbered plan was cut and the parity matrix was not regenerated.
The v25 calibration session owns, and this PR leaves untouched:
Testing
python3 -m unittest discover -s tests: 137 tests OK. NewBaselineInputTestscover each item above.tools/export_public.pyinto an empty directory verifies clean.No other v24 verdict changed, and no real v24 pass regressed.
‡ Vacuous passes, now midpoint-equivalent (not regressions). In v24 these gate/trig probes were fed a Keyboard note. On G1 an envelope gate driven by a note fires only above note 64.5, so the envelope never fired. All five shared the identical idle rms_error of 0.0022. Now that the gate fires, each matches its own module's midpoint metric:
What still fails is the OscA pitch-mod observer, which v25 owns.
† These are observed through the OscA control observer or depend on ClkGen phase, both owned by v25. With ClkGen's phase patched in scratch only, all four Mod-Env retrig cases pass (rms 0.004–0.006). G1 ClkGen rises at 0.0658 + n·0.125 s, while Faust rises about 49 ms earlier.
Impact Statement
approximate. It stays off the Disting release list.--input-sinestimulus, used only for patches that contain AudioIn.Follow-ups, not fixed here: