From 5e8c3d8af467e0f92d4bc951972798f71cfe69e1 Mon Sep 17 00:00:00 2001 From: Matiq Date: Sat, 29 Aug 2026 16:06:07 +0300 Subject: [PATCH] wire chain_9_19 RT_CASC_CHAIN gate, keep TOTAL 0.341 --- dsp/framed_model.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dsp/framed_model.cpp b/dsp/framed_model.cpp index d9b07b1..4cb4be9 100644 --- a/dsp/framed_model.cpp +++ b/dsp/framed_model.cpp @@ -812,6 +812,18 @@ void FramedDetector::processFrame(const std::complex* spectrum, float* m process_band_structural_am(am_.data(), res_[b].data(), bands_[b], 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 + if (getenv("RT_CASC_CHAIN")) { + static std::vector 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 w(nfft_, warp1), a(nfft_, att0), r(nfft_, rel0); + fn529fe0::chain_9_19(band_mask.data(), tmp6f8.data(), accVec.data(), + w.data(), a.data(), r.data(), nfft_); + } } else { process_band_structural(am_.data(), res_[b].data(), bands_[b], band_mask.data(), nfft_, sample_rate_, bands_.size());