24k-4: RT_FIRCONV=3 (application law 1.019*M^1.8345); rendersnap2 wav-path hazard fixed (RENDER_FILE parse, was destroying refs — dual_b1q_1.0.wav restored); corpus TOTAL 2.286
This commit is contained in:
+10
-1
@@ -98,7 +98,16 @@ void SpectralProcessor::processBlock(float* in, float* out, size_t num_samples,
|
||||
|
||||
detector_.processFrame(buf_, mask_.data());
|
||||
|
||||
if (firconv) {
|
||||
if (firconv == 3) {
|
||||
// RT_FIRCONV=3 (NOTES 24k): plugin application law decoded live:
|
||||
// applied_gain = 1.019 * V^1.8345 per bin (rms 0.0025 dB over
|
||||
// 8 drive levels). V = band curve (detector output); here M.
|
||||
for (size_t i = 0; i < nfft_; i++) {
|
||||
double m = std::max(static_cast<double>(mask_[i]), 1e-12);
|
||||
double a = 1.019 * std::pow(m, 1.8345);
|
||||
buf_[i] *= a;
|
||||
}
|
||||
} else if (firconv) {
|
||||
// RT_FIRCONV=1: Build FIR from mask and apply via complex multiply.
|
||||
// The mask is real-valued (per-bin gain). We apply it directly
|
||||
// to the audio spectrum via complex multiply (th_b3c0 equivalent).
|
||||
|
||||
Reference in New Issue
Block a user