22s: offline law-fit infra (full replay sim, 2s/corpus) — NO single affine (A,S) exists even on pure tones; family slopes 0.85-2.19, global LSQ resid 0.60 dB structured by rms/fc-dist; scalar law saturated ~1.87-1.93, canon stays HEAD

This commit is contained in:
2026-08-23 14:36:27 +03:00
parent 3b9158e63e
commit 3857205a6b
3 changed files with 561 additions and 0 deletions
+58
View File
@@ -1958,3 +1958,61 @@ blend/warp/частотных каскадов) — и сразу даёт лу
2. dual ~3.5 стабилен — межполосный механизм (приоритет из 22p).
3. WIN_freq HF rolloff не добавлен — после добавления comb может улучшиться ещё.
4. При достижении ≤bridge: гейт пройден, переносить в канон.
## ============ UPDATE 2026-08-23a (22s): ОФЛАЙН-ФИТ A/S — СКАЛЯРНЫЙ ЗАКОН НАСЫТИЛСЯ ============
Инструментарий: `scripts/lawfit22r.py` — полный numpy-реплей render48k/spectral
(ресемпл 44.1<->48 poly, Hann STFT 4096/1024@48k, поточечная маска, WOLA,
FULL-BLK чанкинг = 61 хоп-фрейм на блок 65536 с zero-pad хвоста — именно так
вызывается processBlock в render48k.cpp:137, поэтому кадров 61·nblk, НЕ (LN)/hop+1).
Детектор независим от закона ⇒ один захват RT_DUMP_ALL траекторий lvl[frame][band][bin]
(`/tmp/opencode/lawfit_traj.npz`, 47 уникальных рендеров) обслуживает ЛЮБОЙ (A,S) офлайн.
Скорость: весь корпус ~2 c/точку (против ~2 мин на реальный рендер).
### Валидация реплея (A=7.4,S=1.85 против реального corpus 1.931)
sim TOTAL 1.895; группы: al +0.045 / dual +0.013 / res 0.085 — отлично;
t1kq 0.30 / t1k +0.32 / comb 0.64 — СТАТИЧЕСКИЕ смещения (риппл ресемплера
scipy≠libsamplerate вокруг крутых спектральных форм; у al полоса на тоне — плоско,
дельта нулевая). Смещение не зависит от закона ⇒ рейтинг кандидатов корректен.
### ПОЧЕМУ точечная модель запрещена (важно для будущих сессий)
1. Тон 1000 Гц = бин 85.33 (не целый!) + главный лепесток Hann ±2-3 бина: при крутой
юбке реализованный гейн тона ≠ mask[tone_bin] (res_500: mask[85]=+8.4 дБ БУСТ,
рендер режет −7.2 дБ).
2. Детектор НЕстационарен в метрическом окне: resonant.wav lvl[85@bin] падает
0.86→0.0002 за файл (медленная адаптация резонатора, 22n) при ПОСТОЯННОМ rms входа.
Медиана по хвосту смешивает 2 декады ⇒ мусор.
### Метод линий (бисекция A* при S∈{0.5,1.5,2.5} на реплее)
У однотонового рендера одно уравнение cut=A+S·x ⇒ вырожденная ЛИНИЯ в (A,S);
x_i=−dA*/dS — точная эффективная координата кейса (включая транзиенты и лики).
Результаты (`lawfit_lines.json`):
- x_eff ОТОБРАЖАЕТ уровень входа ТОЧНО: al-свитч Δx=−3.48 на Δ21 дБ = 1/6.02 окт/дБ
⇒ детектор линеен по амплитуде (подтверждение масштабной цепи).
- НО линии семейств НЕ пересекаются: локальные наклоны cut(x): t1kq 0.85 /
t1k 1.54 / res 1.65 / al 2.19. Единого аффинного закона НЕТ даже на чистых тонах
⇒ кривизна/контент-геометрия, скалярная пара (A,S) принципиально недостаточна.
- Глобальный LSQ по 35 линиям: A=7.396 S=1.973, остаток mean 0.600 дБ,
corr(resid,rms)=+0.71, corr(resid,|log2 fc/1k|)=+0.69 — два недостающих фактора.
- dual: пер-рендерный оптимум даёт floor 0.52-0.62 при q≥1.5 даже своим (A,S) ⇒
межполосный разрыв НЕ закрывается никакими константами закона (приоритет 22p стоит).
- comb (4 полосы): оптимум mean|e|=1.28, константы нестабильны (угол сетки).
### Реальные рендеры (валидация кандидатов, гейт --vs-bridge не гонялся — канон не меняем)
| конфиг | t1kq | t1k | al | res | dual | comb | TOTAL |
|--------|------|-----|----|-----|------|------|-------|
| HEAD 7.4,1.85 | 0.852 | 0.577 | 0.804 | 0.395 | 3.480 | 4.335 | **1.931** |
| LSQ-линии 7.4,1.97 | 0.926 | 0.430 | 0.986 | 0.455 | 3.660 | 4.120 | 1.988 |
| спуск 7.6,1.6 | 0.894 | 1.123 | 0.750 | **0.069** | **3.105** | 5.053 | 1.894 |
Вывод: скалярный закон насыщен в коридоре 1.87-1.93; (7.6,1.6) даёт res 0.069 (!),
но регрессирует t1k/comb — Канон ОСТАЁТСЯ HEAD (7.4,1.85). Теоретический потолок
пер-групповых оптимумов ~0.78 TOTAL недостижим одной парой констант.
### NEXT
1. Двухфакторный закон cut=A+S·x+T·g(fc-дистанция/контент): корреляции указывают
на геометрию полосы относительно тона; данные линий уже собраны (lawfit_lines.json).
2. Механизм межполосного консюмера для dual (Шаг 2/9, приоритет 22p) — константами
не решается, подтверждено покейсовой бисекцией.
3. Реплей-инфраструктура готова для быстрого перебора ЛЮБЫХ параметрических законов
(2 c корпус) — использовать вместо реальных рендеров до финальной валидации.