From 4014133d57e7e9cd96fff8499c3eb1fee89eb364 Mon Sep 17 00:00:00 2001 From: Matiq Date: Thu, 20 Aug 2026 19:35:52 +0300 Subject: [PATCH] =?UTF-8?q?P4:=20NOTES=20=E2=80=94=20twin=20res=20verified?= =?UTF-8?q?=20vs=20Python=20canon=20(match=20<1.5%);=20res=5Fonly1=20resid?= =?UTF-8?q?ual=20is=20LUT-level,=20not=20res-shape?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handoff/NOTES_LEVEL.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 3d67365..899cbcd 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -1009,3 +1009,10 @@ Tracked what DOESN'T move the needle (all reverted, committed 12-knot Pchip + G/ (FUN_180563a60 band curve) is the missing level-dependence. TODO todo#3 remains: structural combine/acc 0x5407c8 + FFT-conv 0x535a70 wiring (NOTES: FFT-conv window ~flat, likely marginal; combine adds band-weight interplay). + +### TWIN RES vs PY CANON (todo#3 check) +C++ twin |2B/A| (fs=44100,N=2048, sens_stored=24.65, built via build_twin_coeff/twin_apply) +vs Python bandres (GAIN=4.132=10^(24.65/40), render_parity): match within ~1.5% at fc +300..2000 (fc300: 1.1798 vs 1.1887; fc1000: 0.11746 vs 0.11714; fc2000: 0.7057 vs 0.6963). +=> res shape is NOT the source of the res_only1 fc=300 residual (-1.71 over-cut); that + residual is level-LUT related (input resonant.wav level differs from fit levels).