22w: faithful mask-shaping chain v1 behind RT_FAITHFUL (fnfaith.cpp) — exact 180533340 freq-warped bidir-IIR coefficients (fc_bin=85@48k/4096, constants from dump); corpus TOTAL 5.315 but comb 2.57 best-ever; decisive: mask shape cannot balance dual tones -> level contrast is created by the DETECTOR (time-domain twin bank hypothesis priority #1)

This commit is contained in:
2026-08-23 17:04:23 +03:00
parent 34156315e6
commit 13c2d028bf
5 changed files with 200 additions and 0 deletions
+36
View File
@@ -2113,3 +2113,39 @@ res-кривые на сетке 0.25 Гц — а детекция может и
### Инструментарий
lawfit22r.py: +iir_c параметр (бидир-IIR по бинам в реплее), +res в npz;
sim_errors кэширует по (Q,rp,iir_c).
## ============ UPDATE 2026-08-23d (22w): FAITHFUL-ЦЕПЬ v1 — ИНФРАСТРУКТУРА ГОТОВА, ДЕТЕКТОР ГЛАВЕН ============
Инфраструктура (dsp/fnfaith.{hpp,cpp}, env RT_FAITHFUL=1 в render48k):
транскрипция маско-формирующей цепи по BLOCKMAP_529fe0: band=lvl·s → exp2(-band)
→ бидир-IIR ×2 (setA tau19/mult360) → бидир (setB tau10.7/mult2400) → ×2 (setC).
Коэффициенты — точная транскрипция FUN_180533340: частотный варп
fc_bin=(1000/(sr/2))·nbin (=85 @48k/4096!), g=fc/i ниже кросса, степенной выше,
up=exp(-2π·κ·c·g·tau), down=1-up. Константы из дампа: DAT_24c46b8=-2π,
24c3d8c=0.5 (sr→Найквист), mult 1200/800/360, тау-интерполяция 15↔9 и 9↔180.
Все параметры — env (RT_FAITH_*). Combine acc в v1 опущен (нет консюмера, 22u).
### Смоук-свипы (t1kq1000 / dual500 / dual2000 / al12; err dB)
- κ=0.05,s=8: t1kq 25 / dual500 58 / **dual2000 2.84** — тон-конкурент ВПЕРВЫЕ
дотягивается до реала, но центральный тон улетает в перерез.
- κ=0.2..0.5: насыщение (up→0 на низких бинах), баланса пары нет нигде;
Δerr(5002000) ≈ 15-20 дБ во всех точках (в реале ~1.5).
- Корпус (κ=0.02, s=2): TOTAL 5.315 (t1kq 1.35 / t1k 1.55 / al 0.89 /
res 2.87 / dual 11.52 / comb **2.57** — лучший comb в истории проекта,
базлайн 4.34!). Ресурс мультиполосной механики виден.
### ВЫВОД (решающий)
Форма маски НЕ может сбалансировать dual: контраст lvl между тонами создаётся
САМИМ ДЕТЕКТОРОМ (am/res из STFT), а не пост-обработкой. Реальный детектор
даёт почти равные уровни драйва на 500 и 2000 Гц при q=0.5 ⇒ гипотеза (а)
из 22u — ПРИОРИТЕТ №1: уровни считаются во ВРЕМЕННОЙ области (банк twin-
фильтров 536300 строит res-кривые на сетке 0.25 Гц — вероятно, и уровни тоже
через них), либо тяжёлый кросс-бин пулинг ДО кривой полосы.
Смена канона НЕТ; faithful-путь остаётся за флагом для следующих экспериментов.
### NEXT
1. Детектор: декод FUN_180536300 до конца (scratch-лейаут известен, NOTES_TWIN)
→ понять, откуда берутся bands[] кривые на входе 529fe0.
2. comb 2.57 при живом faithful — разобраться после детектора.
3. RT_DUMP_BIN-трасса живого плагина на dual-конфиге (покадрово mask/lvl) —
прямой ответ на вопрос «какой lvl реально у тона 2000».