22e: floor algebra solved — gain_floor=20log10(blend*ln10/20), matches -20.72dB within 0.006dB; lead FUN_180529c60
This commit is contained in:
+11
-4
@@ -81,10 +81,17 @@ static void process_band_structural(
|
||||
|
||||
// BandConfig ctx+0x188 (FUN_180563a60 dB-domain LUT): A=min, B=max, gamma
|
||||
// Extracted from refs: A=-13.78dB, B=68.29dB, gamma=0.344 (NOTES_LEVEL:967)
|
||||
constexpr float LUT_A = -13.78f;
|
||||
constexpr float LUT_B = 68.29f;
|
||||
constexpr float LUT_GAMMA = 0.344f;
|
||||
constexpr float LUT_MULT = 4.2f;
|
||||
// RT_LUT_* env overrides: EXPERIMENTAL solver tooling (NOTES_LEVEL 22d),
|
||||
// live-capture candidates are A=-24 B=28 gamma=1 (BandConfig, 22b).
|
||||
float lut_a = -13.78f, lut_b = 68.29f, lut_g = 0.344f, lut_m = 4.2f;
|
||||
if (const char* e = getenv("RT_LUT_A")) lut_a = atof(e);
|
||||
if (const char* e = getenv("RT_LUT_B")) lut_b = atof(e);
|
||||
if (const char* e = getenv("RT_LUT_G")) lut_g = atof(e);
|
||||
if (const char* e = getenv("RT_LUT_MULT")) lut_m = atof(e);
|
||||
const float LUT_A = lut_a;
|
||||
const float LUT_B = lut_b;
|
||||
const float LUT_GAMMA = lut_g;
|
||||
const float LUT_MULT = lut_m;
|
||||
|
||||
// res^rp term (bridge parity): smooth frequency-dependent floor
|
||||
constexpr double RP0 = 0.0275;
|
||||
|
||||
Reference in New Issue
Block a user