22r: affine dB law (RT_LAWAFFINE) ported onto bare chain — TOTAL 1.931 beats canon 2.286; A=7.4/S=1.85 best, tradeoffs mapped
This commit is contained in:
@@ -210,6 +210,16 @@ static void process_band_structural(
|
|||||||
double mm = std::exp2(-static_cast<double>(band_level[k]));
|
double mm = std::exp2(-static_cast<double>(band_level[k]));
|
||||||
static const int noblend = getenv("RT_NOBLEND") ? atoi(getenv("RT_NOBLEND")) : 0;
|
static const int noblend = getenv("RT_NOBLEND") ? atoi(getenv("RT_NOBLEND")) : 0;
|
||||||
if (!noblend) mm *= f6f8[k];
|
if (!noblend) mm *= f6f8[k];
|
||||||
|
// RT_LAWAFFINE="A,S" (NOTES 22q): cut_dB = A + S*log2(lvl) — affine dB law
|
||||||
|
static const char* la = getenv("RT_LAWAFFINE");
|
||||||
|
if (la && lut_off) {
|
||||||
|
double A_db = atof(la); const char* cm = strchr(la, ',');
|
||||||
|
double S_db = cm ? atof(cm + 1) : 2.17;
|
||||||
|
if (band_level[k] > 1e-6) {
|
||||||
|
double y = (A_db + S_db * std::log2(band_level[k])) / 6.0174;
|
||||||
|
mm = std::exp2(-y);
|
||||||
|
}
|
||||||
|
}
|
||||||
mask_out[k] = static_cast<float>(mm);
|
mask_out[k] = static_cast<float>(mm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1929,3 +1929,32 @@ GAIN'ы: real @500=−10.24 @2000=−11.75 (почти РАВНЫ!); newarch @50
|
|||||||
2. Проверить форму: линейно-лог / экспоненциальное насыщение / soft-knee.
|
2. Проверить форму: линейно-лог / экспоненциальное насыщение / soft-knee.
|
||||||
3. Роль res: сравнить cut@center vs cut@skirt при ОДИНАКОВОМ lvl — отделить вес res
|
3. Роль res: сравнить cut@center vs cut@skirt при ОДИНАКОВОМ lvl — отделить вес res
|
||||||
от кривой уровня.
|
от кривой уровня.
|
||||||
|
|
||||||
|
## ============ UPDATE 2026-08-22r: АФФИННЫЙ ЗАКОН ПОРТИРОВАН — НОВАЯ АРХИТЕКТУРА БЬЁТ КАНОН ============
|
||||||
|
|
||||||
|
RT_LAWAFFINE="A_db,S_db": mask = exp2(−(A_db + S_db·log2(lvl))/6.0174) поверх голой цепи
|
||||||
|
(NOTES 22k). Константы с al-семейства (грубо): A=6.14/S=2.17 → **TOTAL 2.152 < канона 2.286!**
|
||||||
|
|
||||||
|
### Грид-фит
|
||||||
|
| A | S | TOTAL | t1kq | t1k | al | res | dual | comb |
|
||||||
|
|---|---|-------|------|-----|----|----|------|------|
|
||||||
|
| 6.14 | 2.17 | 2.152 | 0.426 | 0.889 | 0.090 | 1.795 | 3.953 | 2.678 |
|
||||||
|
| 6.60 | 2.00 | 2.047 | 0.409 | 0.930 | 0.294 | 1.262 | 3.702 | 3.349 |
|
||||||
|
| **7.40** | **1.85** | **1.931** | 0.852 | 0.577 | 0.804 | **0.395** | 3.480 | 4.335 |
|
||||||
|
|
||||||
|
Трейд-оффы: A↑ → res ↓↓ но comb ↑; S↓ → t1k ↓ но al ↑.
|
||||||
|
Против bridge (1.594): новая арх. лучше на t1k (0.58<1.80), al (0.80<0.64~паритет),
|
||||||
|
comb (4.3<<10.1); хуже на t1kq/res/dual. Против канона (2.286) — лучше по TOTAL и
|
||||||
|
на 4 группах из 6.
|
||||||
|
|
||||||
|
### Смысл
|
||||||
|
Аффинный закон Phase-A (21d) пересажен на ПРАВИЛЬНУЮ архитектуру (голый exp2 без
|
||||||
|
blend/warp/частотных каскадов) — и сразу даёт лучший корпусный результат среди всех
|
||||||
|
конфигураций проекта. Двух констант достаточно; их источник — следующий вопрос
|
||||||
|
(золотое правило: сейчас это фит, помечено).
|
||||||
|
|
||||||
|
### NEXT
|
||||||
|
1. Фит A/S раздельно по группам → понять зависимость от sens/q (сейчас глобальные).
|
||||||
|
2. dual ~3.5 стабилен — межполосный механизм (приоритет из 22p).
|
||||||
|
3. WIN_freq HF rolloff не добавлен — после добавления comb может улучшиться ещё.
|
||||||
|
4. При достижении ≤bridge: гейт пройден, переносить в канон.
|
||||||
|
|||||||
Reference in New Issue
Block a user