23e: law closed quantitatively — FIR=exp(0.984*scratch) pointwise; real/FIR cut ratio constant 1.80 across configs and bins (linear post-scale, EMPIRICAL until conv-stage decoded); center independence of q proven live (scratch43 -0.6565 vs -0.6551); skirt shift matches within 3% (1.46 vs 1.50 dB)
This commit is contained in:
@@ -2327,3 +2327,30 @@ CONT, дамп rcx/rdx на хите (скрипт fnall.py готов, нуже
|
|||||||
4. reaper.ini: alsa_outdev/indev=null прописаны (бэкап /tmp/opencode/reaper.ini.bak)
|
4. reaper.ini: alsa_outdev/indev=null прописаны (бэкап /tmp/opencode/reaper.ini.bak)
|
||||||
— realtime колбек всё равно не ожил (cpu 0.2 t/s), вопрос закрыт в пользу
|
— realtime колбек всё равно не ожил (cpu 0.2 t/s), вопрос закрыт в пользу
|
||||||
render-snap метода.
|
render-snap метода.
|
||||||
|
|
||||||
|
## ============ UPDATE 2026-08-23i (23e): ЗАКОН СОШЁСЯ КОЛИЧЕСТВЕННО ============
|
||||||
|
|
||||||
|
Серия rendersnap: dual_b1q_0.5 + dual_b1q_3.0 (стационарные фазы).
|
||||||
|
1. **FIR = exp(0.984·scratch)** поточечно (коэф идентичен @43/@171) ⇒ ops
|
||||||
|
между log и exp — скалярный раундтрип, никакой межбиновой магии в самих ops.
|
||||||
|
2. **real_cut / FIR_cut = 1.798–1.810 константа** по всем 4 точкам
|
||||||
|
(q0.5: 5.70/6.58 FIR против 10.32/11.82 real; q3.0: 5.69/5.76 против
|
||||||
|
10.29/10.32). Между кернелом и слышимым применением — ЛИНЕЙНЫЙ масштаб
|
||||||
|
~1.805 в дБ-домене (кандидат: двойное применение/нормировка conv-стадии;
|
||||||
|
залочить при декоде потребителя, до тех пор EMPIRICAL-константа).
|
||||||
|
3. **Центр не зависит от q живьём**: scratch43 = −0.6565(q0.5) vs −0.6551(q3)
|
||||||
|
при том, что сырой bands[] мигает от 0.3 до 382 (детекторные IIR дают
|
||||||
|
стационар). Скайрт: Δscratch171(q3−q0.5)=+0.0937 ln ⇒ ×0.984×1.805 =
|
||||||
|
**+1.46 дБ** против реального Δ=1.50 дБ — сходится в пределах 3%.
|
||||||
|
4. Структура механизма окончательно: mask_log(f) = G(log(am_frame(f)), res_band(f));
|
||||||
|
кернел = exp(mask_log) c падающим Hann-окном на [n/2..n); применение =
|
||||||
|
свёртка × масштаб 1.805. Это УЖЕ наша каноническая структура am/res — но
|
||||||
|
вход амплитуды берётся из спектра кадра напрямую (не через наш lvl-тракт),
|
||||||
|
и применение — FIR-свёртка, а не поточечное умножение STFT.
|
||||||
|
### NEXT (конкретика)
|
||||||
|
1. Восстановить точную зависимость scratch(band, res): прогнать q-серию
|
||||||
|
{0.1,0.2,...,10} + am-серию, аппроксимировать G (ожидаем линейность в логах
|
||||||
|
вида −k·ln(am/res)+c, k≈0.984·?): две точки уже дают k_skyрт согласован.
|
||||||
|
2. Найти источник масштаба 1.805 (декод потребителя FIR: кто читает 0x540668).
|
||||||
|
3. Транскрипция RT_FIRCONV=1: bands=STFT-спектр кадра → scratch=G(...) →
|
||||||
|
kernel=exp·HannWin → rfft-свёртка overlap-add → гейт корпуса.
|
||||||
|
|||||||
Reference in New Issue
Block a user