diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 7b4f144..af28943 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -3292,3 +3292,35 @@ m100 orig 10.32 11.84 5.550 6.442 1.859/1.839 2. Источник γ₀ и двух стадий в декомпе: df0(FIR,track_i) семантика! 3. Δ/q/sens параметризация по накопленным датасетам. 4. Корпус dual-семейства через RT_VLAW после фиксации зазора. + +## ============ ДОПОЛНЕНИЕ 24r: track статичен; DTFT-тест кернелов; упаковка потребления — последний разрыв ============ + +### Слот track@768 добавлен в rendersnap2 v5; multi4 снят +track ИДЕНТИЧЕН во всех фазах (deep==steady бит-в-бит) — статическая таблица, +не динамическая вторая стадия. + +### DTFT-тест (ирfft кернелов → точный отклик на частотах тонов): +``` + @500 @2000 +shallow 0.524 (5.61 дБ) 0.474 (6.49) +deep 0.294 (10.63)✓ 0.594 (4.52)✗✗ +REF 0.305 (10.32) 0.257 (11.82) +``` +Deep-кернел совпадает с рефом НА ЦЕНТРЕ (+0.3 дБ) но проваливается на скирте +⇒ irfft(captured_spectrum) НЕ есть тот фильтр, что слышен на скирте. +Причина: спектр кернела в буфере НЕ эрмитов (fir_im≠0, антисимметрика), а +потребление идёт через комплексные стадии ops A–D (твидлы buf548) — их +упаковка/распаковка определяет действительный фильтр. Это ПОСЛЕДНИЙ +нерасшифрованный кусок применения. + +### Инструменты состояния +rendersnap2 v5 (SLOTS+768), patchparam.py — рабочий правщик VST-чанка +(параметры: depth/mix/bands/selectivity/sharpness/...), полная карта PARAM id +получена из multi.rpp. Клоны проектов: multi_d{0.5,0.7,0.9}, multi_m{25,50,75} +(+_ref рендеры). + +### NEXT (24s) +1. Декод ops A–D (воркер 4ca80→диспетчер типов; твидл-стадии над упакованным + вещественным спектром) — замкнёт путь преобразования буфер⇒фильтр. +2. После этого: bit-exact репликация применения станет механической. +3. Параллельно: Δ/q/sens по датасетам (mega_curves.pkl). diff --git a/scripts/rendersnap2.py b/scripts/rendersnap2.py index 9ced465..a16ccba 100644 --- a/scripts/rendersnap2.py +++ b/scripts/rendersnap2.py @@ -19,7 +19,7 @@ import time import numpy as np SLOTS = [0x540668, 0x540548, 0x540550, 0x540598, 0x540628, - 0x540678, 0x540688, 0x540788, 0x5407f8] + 0x540678, 0x540688, 0x540768, 0x540788, 0x5407f8] NARR = 8194 SCAL_OFF = 0x540860 SCAL_N = 24 # floats -> 0x540860..0x5408c0