B: wire real kWarp/kRTAtt/kRTRel into chain_9_19, keep TOTAL 0.341

This commit is contained in:
2026-08-29 16:46:55 +03:00
parent 85317ed674
commit 9311e7397f
+7 -7
View File
@@ -813,16 +813,16 @@ void FramedDetector::processFrame(const std::complex<double>* spectrum, float* m
band_mask.data(), nfft_, sample_rate_,
bands_.size(), casc_curve.data(), true);
// 1c chain_9_19 wire (BLOCKMAP:620) — gated by RT_CASC=1+chain, default off
// proxy with unity warp/att/rel keeps TOTAL 0.341; bit-exact tables
// will replace unity via rt_weights/rt_mask_tables dump
// B: real warp/att/rel tables (was unity proxy)
if (getenv("RT_CASC_CHAIN")) {
static std::vector<float> tmp6f8, accVec;
tmp6f8.assign(nfft_, 0.0f);
accVec.assign(nfft_, 0.0f);
static const float warp1 = 1.0f, att0 = 0.0f, rel0 = 0.0f;
std::vector<float> w(nfft_, warp1), a(nfft_, att0), r(nfft_, rel0);
size_t nbin = half + 1;
tmp6f8.assign(nbin, 0.0f);
accVec.assign(nbin, 0.0f);
// kWarp/kBand768 from rt_mask_tables (2049), kRTAtt/kRTRel 2049
// chain_9_19 warp = kWarp (or kWarp*kBand768 if needed), att/rel = RT tables
fn529fe0::chain_9_19(band_mask.data(), tmp6f8.data(), accVec.data(),
w.data(), a.data(), r.data(), nfft_);
kWarp, kRTAtt, kRTRel, nbin);
}
} else {
process_band_structural(am_.data(), res_[b].data(), bands_[b],