P4: add dual warp step (mask *= band768; *= warp) - comb 500/3000 fixed
This commit is contained in:
@@ -142,7 +142,15 @@ void FramedDetector::processFrame(const std::complex<double>* spectrum, float* m
|
||||
// mask carries on to warp/dry-wet below.
|
||||
}
|
||||
|
||||
// 6. warp: mask *= 0x540768[band] (per-band); mask *= warp (0x5406a8).
|
||||
// 6. warp tilt (0x8700 dst*=src, applied twice):
|
||||
// mask *= 0x540768[band] (per-band mult table)
|
||||
// mask *= 0x5406a8 (warp / freqpath tilt)
|
||||
for (size_t k = 0; k <= half; k++) {
|
||||
int wi = std::min(static_cast<size_t>(k), size_t(2048));
|
||||
scratch[k] *= static_cast<float>(kBand768[wi]);
|
||||
scratch[k] *= static_cast<float>(kWarp[wi]);
|
||||
}
|
||||
|
||||
// 7. IIR3 leaky (A3/B3) twice.
|
||||
// 8. dry/wet: mask = mask*(fVar30*0x540888) + (1-fVar30).
|
||||
// (fVar30 = 0x540874 - rnd; 0x540888=1.0, 0x540874=1.0.)
|
||||
|
||||
Reference in New Issue
Block a user