Remove AudioDSPTools dependency. Do simple DC blocker instead of HPF.

This commit is contained in:
Mike Oliphant
2023-10-17 12:25:14 -07:00
parent 34c7628202
commit 34be69df6d
5 changed files with 16 additions and 22 deletions
+13 -11
View File
@@ -24,10 +24,6 @@ namespace NAM {
{
this->sampleRate = sampleRate;
const double highPassCutoffFreq = 5.0;
const recursive_linear_filter::HighPassParams highPassParams(sampleRate, highPassCutoffFreq);
mHighPass.SetParams(highPassParams);
// for fetching initial options, can be null
LV2_Options_Option* options = nullptr;
@@ -251,8 +247,6 @@ namespace NAM {
}
}
float** outputPtrs = &ports.audio_out;
float modelLoudnessAdjustmentDB = 0;
if (currentModel != nullptr)
@@ -260,9 +254,6 @@ namespace NAM {
currentModel->process(ports.audio_out, ports.audio_out, n_samples);
currentModel->finalize_(n_samples);
// Apply a high pass filter at 5Hz to eliminate any DC offset
outputPtrs = mHighPass.Process(outputPtrs, 1, n_samples);
if (currentModel->HasLoudness())
{
// Normalize model to -18dB
@@ -282,7 +273,7 @@ namespace NAM {
// do very basic smoothing
level = (.99f * level) + (.01f * desiredOutputLevel);
ports.audio_out[i] = outputPtrs[0][i] * outputLevel;
ports.audio_out[i] = ports.audio_out[i] * outputLevel;
}
outputLevel = level;
@@ -293,9 +284,20 @@ namespace NAM {
for (unsigned int i = 0; i < n_samples; i++)
{
ports.audio_out[i] = outputPtrs[0][i] * level;
ports.audio_out[i] = ports.audio_out[i] * level;
}
}
for (unsigned int i = 0; i < n_samples; i++)
{
float dcInput = ports.audio_out[i];
// dc blocker
ports.audio_out[i] = ports.audio_out[i] - prevDCInput + 0.995 * prevDCOutput;
prevDCInput = dcInput;
prevDCOutput = ports.audio_out[i];
}
}
uint32_t Plugin::options_get(LV2_Handle, LV2_Options_Option*)