diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 21b1bd1..bcffc99 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -331,3 +331,21 @@ getFunctionContaining(0x52ac64) and has the complete per-band loop + FFT-conv). ## Именно поэтому dB-потолок B.12-суррогата ~0.20-0.27 dB — линия DATA-уровня, не тюнинг. ## СЛЕДУЮЩИЙ ШАГ (рекомендация): runtime-захват уровня/маски под gdb (soothe2_x64.vst3), файл ## двойного стимула; после локализации механизма — закрыть LUT и 0.540658 эмпирически в C++. + +## ============ 2026-08-18i (MULTI-BAND COMBINATION - MEASURED, MODEL FAILS) ============ +## Эксперимент (вход tone1778 A=0.707, band2 fc=1778.7 = центр; depth=0.86397 mix=100): +## red@1778: b2only_12/b2_b1s0/b2_b1s0on = 16.55 (ВСЕ ОДИНАКОВО) +## b2_b3s12=16.62 b2_b4s12=16.51 +## b1on12_b2on12 = b1s12_b2s12 = b1on12_b2s12 = 17.08 (идентичные) +## b1only_12 (band1 fc=500, band2 off) red@1778 = 11.47 (soothe режет ВНЕ полосы сильно!) +## ВЫВОДЫ: +## 1) depth НЕ делится по числу активных полос (b2only 1-полоса == b2_b1s0on 2-полосы 16.55). +## 2) Полоса sens=0 даёт НУЛЕВОЙ вклад (b2_b1s0on == b2_b1s0 == b2only). +## 3) Комбинация band1+band2: 16.55->17.08 (+0.53 над макс), НЕ product (дал бы ~27), +## НЕ additive-C (насыщает в +180). => общая маска строится из СУММЫ displacement по полосам +## (аккумулятор 0x5407c8 += ...) через НАСЫЩЕНИЕ. exp-насыщение(0.9) даёт 19.5 > 17.08 +## => точная насыщающая кривая/уровень требуют runtime-захвата (0x5407c8/0x540658). +## 4) B.12 single-band band1@1778 предсказал 10.04 vs измеренных 11.47 (уровневая семантика +## опять +1.4 dB). +## => мультибанд: сумма displacements -> sat-кривая. Каждая полоса отдельно калибруется single- +## band рендерами; комбинация закрывается runtime или sat-подгонкой на b1on12_b2on12.