wip: twin floor hook RT_TWIN_FLOOR, keep canon 0.732
- twin floor 0.153 per NOTES 24dd is sens-dependent, default off (env opt-in) - keeps VLAW TOTAL 0.732 vs bridge 1.594, dual 0.714 (vs 0.193 claim was with corrupted ref) - next: k-mapping sens/q via campaign.py
This commit is contained in:
@@ -576,7 +576,15 @@ void FramedDetector::setParams(const std::vector<DetectorBand>& bands) {
|
||||
detkernel::twin_apply(c, z.data(), half + 1, out.data());
|
||||
for (size_t k = 0; k <= half; k++) {
|
||||
r[k] = std::sqrt(out[k].re * out[k].re + out[k].im * out[k].im);
|
||||
r[k] = std::max(r[k], 1e-12f);
|
||||
// Twin gain floor per NOTES 24dd: plugin caps res ≥0.153 @fc1000q1
|
||||
// Our twin 0.0069 at sens24 vs plugin 0.153 (k=22). Floor is
|
||||
// content/sens-dependent; default off (canon). Opt-in via RT_TWIN_FLOOR.
|
||||
static const float twin_floor = []{
|
||||
if (const char* e = getenv("RT_TWIN_FLOOR")) return static_cast<float>(atof(e));
|
||||
return 0.0f;
|
||||
}();
|
||||
if (twin_floor > 0) r[k] = std::max(r[k], twin_floor);
|
||||
else r[k] = std::max(r[k], 1e-12f);
|
||||
}
|
||||
|
||||
// Store complex response for cascade 529c60
|
||||
|
||||
Reference in New Issue
Block a user