NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler
Log | Files | Refs | Submodules | README | LICENSE

commit 708b4d344a9904945626bd80d2fd23a0be8764f0
parent 495907058d2689f192155deca8c895dcabe891f9
Author: Steven Atkinson <steven@atkinson.mn>
Date:   Sun, 10 Mar 2024 12:24:43 -0700

Revert "Move tone stack params to OnParamChange()"

This reverts commit 495907058d2689f192155deca8c895dcabe891f9.

Diffstat:
MNeuralAmpModeler/NeuralAmpModeler.cpp | 64++++++++++++++++++++++++----------------------------------------
MNeuralAmpModeler/NeuralAmpModeler.h | 1-
2 files changed, 24 insertions(+), 41 deletions(-)

diff --git a/NeuralAmpModeler/NeuralAmpModeler.cpp b/NeuralAmpModeler/NeuralAmpModeler.cpp @@ -326,6 +326,30 @@ void NeuralAmpModeler::ProcessBlock(iplug::sample** inputs, iplug::sample** outp sample** toneStackOutPointers = gateGainOutput; if (toneStackActive) { + // Translate params from knob 0-10 to dB. + // Tuned ranges based on my ear. E.g. seems treble doesn't need nearly as + // much swing as bass can use. + const double bassGainDB = 4.0 * (GetParam(kToneBass)->Value() - 5.0); // +/- 20 + const double midGainDB = 3.0 * (GetParam(kToneMid)->Value() - 5.0); // +/- 15 + const double trebleGainDB = 2.0 * (GetParam(kToneTreble)->Value() - 5.0); // +/- 10 + + const double bassFrequency = 150.0; + const double midFrequency = 425.0; + const double trebleFrequency = 1800.0; + const double bassQuality = 0.707; + // Wider EQ on mid bump up to sound less honky. + const double midQuality = midGainDB < 0.0 ? 1.5 : 0.7; + const double trebleQuality = 0.707; + + // Define filter parameters + recursive_linear_filter::BiquadParams bassParams(sampleRate, bassFrequency, bassQuality, bassGainDB); + recursive_linear_filter::BiquadParams midParams(sampleRate, midFrequency, midQuality, midGainDB); + recursive_linear_filter::BiquadParams trebleParams(sampleRate, trebleFrequency, trebleQuality, trebleGainDB); + // Apply tone stack + // Set parameters + mToneBass.SetParams(bassParams); + mToneMid.SetParams(midParams); + mToneTreble.SetParams(trebleParams); sample** bassPointers = mToneBass.Process(gateGainOutput, numChannelsInternal, numFrames); sample** midPointers = mToneMid.Process(bassPointers, numChannelsInternal, numFrames); sample** treblePointers = mToneTreble.Process(midPointers, numChannelsInternal, numFrames); @@ -438,46 +462,6 @@ void NeuralAmpModeler::OnUIOpen() mCheckSampleRateWarning = true; } -void NeuralAmpModeler::OnParamChange(int paramIdx) -{ - switch (paramIdx) - { - case kToneBass: - { - const double sampleRate = GetSampleRate(); - const double bassGainDB = 4.0 * (GetParam(kToneBass)->Value() - 5.0); // +/- 20 - const double bassFrequency = 150.0; - const double bassQuality = 0.707; - recursive_linear_filter::BiquadParams bassParams(sampleRate, bassFrequency, bassQuality, bassGainDB); - mToneBass.SetParams(bassParams); - } - - break; - case kToneMid: - { - const double sampleRate = GetSampleRate(); - const double midGainDB = 3.0 * (GetParam(kToneMid)->Value() - 5.0); // +/- 15 - const double midFrequency = 425.0; - // Wider EQ on mid bump up to sound less honky. - const double midQuality = midGainDB < 0.0 ? 1.5 : 0.7; - recursive_linear_filter::BiquadParams midParams(sampleRate, midFrequency, midQuality, midGainDB); - mToneMid.SetParams(midParams); - } - break; - case kToneTreble: - { - const double sampleRate = GetSampleRate(); - const double trebleGainDB = 2.0 * (GetParam(kToneTreble)->Value() - 5.0); // +/- 10 - const double trebleFrequency = 1800.0; - const double trebleQuality = 0.707; - recursive_linear_filter::BiquadParams trebleParams(sampleRate, trebleFrequency, trebleQuality, trebleGainDB); - mToneTreble.SetParams(trebleParams); - } - break; - default: break; - } -} - void NeuralAmpModeler::OnParamChangeUI(int paramIdx, EParamSource source) { if (auto pGraphics = GetUI()) diff --git a/NeuralAmpModeler/NeuralAmpModeler.h b/NeuralAmpModeler/NeuralAmpModeler.h @@ -216,7 +216,6 @@ public: void OnUIOpen() override; bool OnHostRequestingSupportedViewConfiguration(int width, int height) override { return true; } - void OnParamChange(int paramIdx) override; void OnParamChangeUI(int paramIdx, iplug::EParamSource source) override; bool OnMessage(int msgTag, int ctrlTag, int dataSize, const void* pData) override;