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.
|
// 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.
|
// 7. IIR3 leaky (A3/B3) twice.
|
||||||
// 8. dry/wet: mask = mask*(fVar30*0x540888) + (1-fVar30).
|
// 8. dry/wet: mask = mask*(fVar30*0x540888) + (1-fVar30).
|
||||||
// (fVar30 = 0x540874 - rnd; 0x540888=1.0, 0x540874=1.0.)
|
// (fVar30 = 0x540874 - rnd; 0x540888=1.0, 0x540874=1.0.)
|
||||||
|
|||||||
Reference in New Issue
Block a user