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_, band_mask.data(), nfft_, sample_rate_,
bands_.size(), casc_curve.data(), true); bands_.size(), casc_curve.data(), true);
// 1c chain_9_19 wire (BLOCKMAP:620) — gated by RT_CASC=1+chain, default off // 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 // B: real warp/att/rel tables (was unity proxy)
// will replace unity via rt_weights/rt_mask_tables dump
if (getenv("RT_CASC_CHAIN")) { if (getenv("RT_CASC_CHAIN")) {
static std::vector<float> tmp6f8, accVec; static std::vector<float> tmp6f8, accVec;
tmp6f8.assign(nfft_, 0.0f); size_t nbin = half + 1;
accVec.assign(nfft_, 0.0f); tmp6f8.assign(nbin, 0.0f);
static const float warp1 = 1.0f, att0 = 0.0f, rel0 = 0.0f; accVec.assign(nbin, 0.0f);
std::vector<float> w(nfft_, warp1), a(nfft_, att0), r(nfft_, rel0); // 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(), fn529fe0::chain_9_19(band_mask.data(), tmp6f8.data(), accVec.data(),
w.data(), a.data(), r.data(), nfft_); kWarp, kRTAtt, kRTRel, nbin);
} }
} else { } else {
process_band_structural(am_.data(), res_[b].data(), bands_[b], process_band_structural(am_.data(), res_[b].data(), bands_[b],