From 8e4e40b25af86ccd585a2972b6c26d3056bf17bd Mon Sep 17 00:00:00 2001 From: Matiq Date: Fri, 21 Aug 2026 00:34:18 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20NOTES=20=E2=80=94=20Pchip=20LUT=20fix?= =?UTF-8?q?=20+=20comb=20diagnosis=20(level-dependent,=20not=20multiband)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handoff/NOTES_LEVEL.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 47a3771..073238b 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -1114,3 +1114,26 @@ framework — produces correct transform, but NOT bit-exact to the plugin DSP-FF giant (FUN_18002f980 recursion + per-log2 factor tables) remain unwired. This is the multi-week gap (roadmap P3), required only for byte-parity of the FFT-conv path; the bridge renderer does not depend on it. + +## ============ UPDATE 2026-08-21: FIX — restore Pchip LUT (revert 12094f8) + comb diagnosis ============ +### FIX (commit e5e9700): revert parametric LUT regression. +12094f8 replaced the empirical Pchip LUT (framed_model) with the parametric linear +form (CAP_A_LEVEL=-24/B=28/gamma=1). With gamma=1 that reduces to IDENTITY on +xv=log10(am/res), breaking the whole mask chain: t1kq fc-scan err jumped +7.9 dB. +Re-instated lut_pchip: t1kq mean|err| 0.226 (was 7.9). Confirms NOTES:1060 F1 closure +(no parametric set beats Pchip at fixed bridge params). lut_parametric helper + CAP_ +consts remain in framed_model.hpp as live-capture reference (currently unused). + +### 24-bit metric loader CHECK +render_parity.py:43 already uses correct 24->64-bit sign extension (x>=0x800000 => +x-0x1000000), NOT the buggy OR-0xFF000000. Repo metric harness is correct; an earlier +symptom of ~50 dB phantom ref levels was an artifact of a scratch loader, not the repo. + +### COMB DIAGNOSIS (biggest open gap, mean 10 dB / max 14.7) +comb.wav tones are at ~-25.6 dBFS (500/1000/1500/2000/3000). comb_ref reduce = +0.02 dB += soothe2 lets ALL tones pass ~unity on this input. Our model over-cuts -7..-15 dB. +=> NOT a multiband-combine problem; it is LEVEL-dependent: at input ~-25.6 dBFS with +band sens 2.24 for two of four bands, real reducer output is ~neutral, ours still cuts. +Likely the bridge LUT/level_scale is calibrated on the al_* fit levels, not on this +low/wide band config. Same class as the known low-level over-cut (al lv18/24, NOTES:964). +Next: calibrate level_scale per input level / verify sens enters the level path correctly.