Compare commits
3
Commits
16853d7e0b
...
8e4e40b25a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e4e40b25a | ||
|
|
e5e9700333 | ||
|
|
12094f8119 |
@@ -22,17 +22,6 @@ constexpr float SENS_SCALE = 2.054f;
|
|||||||
// With gamma=1: val = clamp(x, A, B) [linear interpolation between A and B].
|
// With gamma=1: val = clamp(x, A, B) [linear interpolation between A and B].
|
||||||
// The x input is the mask-dependent dB-scaled value (mask * 8.6859 from 0x24c43e0).
|
// The x input is the mask-dependent dB-scaled value (mask * 8.6859 from 0x24c43e0).
|
||||||
|
|
||||||
constexpr double CAP_A_LEVEL = -24.0;
|
|
||||||
constexpr double CAP_B_LEVEL = 28.0;
|
|
||||||
constexpr double CAP_GAMMA = 1.0;
|
|
||||||
|
|
||||||
constexpr double CAP_A_FREQ = 16.0;
|
|
||||||
constexpr double CAP_B_FREQ = 20000.0;
|
|
||||||
constexpr double CAP_GAMMA_FREQ = 1.0;
|
|
||||||
|
|
||||||
// ---- Empirical bridge fit (NOTES_LEVEL:147, phase-5 step 5b). ----
|
|
||||||
// C(f_k) = G·LUT(log10(am_k/res_k)) + W·warp(f_k)^A ; gain = (1−C)·res^rp(Q).
|
|
||||||
// The Pchip LUT below IS the runtime BandConfig curve (FUN_180563440/563a60,
|
|
||||||
// ctx+0x188 A/B/gamma) evaluated at the measured (xv, C) nodes (al_* dataset +
|
// ctx+0x188 A/B/gamma) evaluated at the measured (xv, C) nodes (al_* dataset +
|
||||||
// B.11 anchors). Marked EMPIRICAL (all numbers from the joint dual+al_* fit,
|
// B.11 anchors). Marked EMPIRICAL (all numbers from the joint dual+al_* fit,
|
||||||
// honest trimmed metric); the structural parametric A/B/gamma form is its
|
// honest trimmed metric); the structural parametric A/B/gamma form is its
|
||||||
|
|||||||
@@ -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
|
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
|
multi-week gap (roadmap P3), required only for byte-parity of the FFT-conv path; the
|
||||||
bridge renderer does not depend on it.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user