24z: FUN_180563a60 FULLY DECODED — detector LUT builder: dB=ln(x)*8.68589; t=(dB-A)/(B-A) clamped; out=0.5*t^gamma (+ symmetric 2t^g-1 mode, + virtual dispatch); A/B/gamma live in [band+0x180] object — the level-compression stage found materially
This commit is contained in:
@@ -358,3 +358,26 @@ c=1/(1+g*tau/mult); up=exp(...); down=1-up.
|
||||
Эксперимент: одноразовый bidir с этими коэф. НЕ двигает центр кривой
|
||||
⇒ q-зависимость катов не через эти IIR напрямую; тракт между main-loop
|
||||
и scratch содержит ещё этапы (ops A–D / steps 9–19 BLOCKMAP).
|
||||
|
||||
## ДОПОЛНЕНИЕ 24z: FUN_180563a60 ДЕКОДИРОВАН ПОЛНОСТЬЮ — ЭТО ДЕТЕКТОРНАЯ LUT-ФОРМА!
|
||||
|
||||
Постройка (на каждый банд, 1024 точки, вход double[+0x4198+i·8],
|
||||
выход пары-floats в вектор [+0xe0], stride вектора 0x18):
|
||||
```
|
||||
dB = log(input) · 8.68589
|
||||
idx = i / 1024 → store[2j]
|
||||
t = (dB − A) / (B − A) ; A=[sub+0], B=[sub+4] (sub=obj@[rcx+0x180])
|
||||
t = clamp(t, 0, 1)
|
||||
если γ(=[sub+0xc]) ≠ 1:
|
||||
если [sub+0x10]==0: out = t^γ (классика)
|
||||
иначе : out = sign(2t−1)·|2t−1|^γ + 1 (симметричный режим!)
|
||||
else: out = t
|
||||
out *= 0.5 → store[2j+1]
|
||||
```
|
||||
Виртуальная альтернатива: [sub+0x90]!=0 → вызов [sub vtbl+0x10](A,B,dB)
|
||||
с клампом [0,1].
|
||||
⇒ ЭТО ТА САМАЯ ФОРМА, ЧТО ДАЛА ФИТ cut=LUT(A,B,γ,M)! Стадия компрессии
|
||||
уровня найдена материально: A/B/γ живут в объекте [band+0x180],
|
||||
заполняются сеттерами. Осталось: снять их live-значения для наших конфигов
|
||||
(расширить scalar-dump на [ctx+0x180]-объект) и найти потребителя таблицы
|
||||
(интерполятор dB→out) в аудио-тракте.
|
||||
|
||||
Reference in New Issue
Block a user