Q-dep rp + honest TRIMMED metric: mean=0.175 (was misleading 0.144 artifact)

- Exposed artifact: earlier fits measured tone_cmp on untracked-length output
  (nfr*HOP+N); framed_render.synthe trims to len(x). Honest scalar-rp=0.0169
  baseline is 0.280, not 0.160 as previously recorded.
- New model: rp(Q)=rp0*Q^drp, G/W/A/rp0/drp=0.9963/0.3335/0.9807/0.0275/0.2159.
  Trimmed errs: q0.1 0.000/0.001, q1 -0.256/-0.707, q10 +0.086/+0.001.
  q0.1+q10 perfect; bottleneck q1@2000 (structural warp mismatch).
This commit is contained in:
2026-08-19 15:48:56 +03:00
parent a909aae7d3
commit 28cd3b7c62
2 changed files with 42 additions and 11 deletions
+28
View File
@@ -528,3 +528,31 @@ where the LUT curve is evaluated per-bin (1024 bins) and the twin-mask factory
1. Refine rp jointly with al_* (need faster al_* rendering — batch the 6 lv cases)
2. Update framed_render.py with rp parameter
3. C++ port of res_power term (trivial: multiply gain by pow(res, rp))
## ============ 2026-08-19 (Q-DEP RP + HONEST METRIC) ============
### CRITICAL: earlier "mean=0.160/0.144" were ARTIFACTS (untracked output length)
- Fit scripts (qdep_rp.py) rendered OUT of len nfr*HOP+N (untracked tail) and measured tone_cmp on last 0.75s of that extended buffer.
- framed_render.synthe trims to len(x). The two disagree by ~+0.2dB systematically.
- Honest (trimmed) numbers for scalar rp=0.0169 (h3): mean=0.280 max=0.618 (q10@500).
- Earlier claim "dual mean=0.160" does NOT reproduce on trimmed metric.
### Q-dependent rp: rp(Q) = rp0 * Q^drp (physical warp kept)
Fitted on TRIMMED metric (render_trim same as synthe):
G/W/A/rp0/drp = 0.9963/0.3335/0.9807/0.0275/0.2159
mean=0.175 max=0.707:
q0.1: 500 +0.000, 2000 +0.001
q1: 500 -0.256, 2000 -0.707
q10: 500 +0.086, 2000 +0.001
q0.1 and q10 both essentially perfect. Bottleneck is q1@2000 (over-reduction -0.71).
Weighted refits move error around but never reduce max < 0.7:
- w(q1@2000)=3, w(q10@500)=3: q0.1@2000 -> +0.885 (rows shift, no global win).
- free warp (K/alpha/p): mean=0.139 but q1@2000 -0.534 and warp non-physical (alpha=3.19).
### Committed to framed_render.py (Q-dep rp, trimmed honest baseline):
G/W/A = 0.9963/0.3335/0.9807, RES_POWER = lambda q: 0.0275*q**0.2159
### Interpretation
rp(Q) ~ Q^0.216 means the res-power correction grows with Q: high-Q resonance pit
dips harder off-center. Consistent with decomp (res-weighted gain path in twin-mask
factory). The q1@2000 residual is structural warp/model mismatch, not rp.