From b4dbac6042b6388467fb558e5583a938c1522660 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Sun, 17 May 2026 07:29:42 -0700 Subject: [PATCH 1/2] Update NeuralAudio --- deps/NeuralAudio | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/NeuralAudio b/deps/NeuralAudio index 842f675..05d9fbd 160000 --- a/deps/NeuralAudio +++ b/deps/NeuralAudio @@ -1 +1 @@ -Subproject commit 842f675179cc174e92746cc7e93035c9682cd53b +Subproject commit 05d9fbdc958cc0873b28e7dbb29376f23b39047d From 8ac44e3ee02a6af07cf6599312882583dc142ebd Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Sun, 17 May 2026 09:24:26 -0700 Subject: [PATCH 2/2] Add quality scaling support --- resources/neural_amp_modeler.ttl.in | 8 ++++++++ src/nam_plugin.cpp | 12 ++++++++++++ src/nam_plugin.h | 2 ++ 3 files changed, 22 insertions(+) diff --git a/resources/neural_amp_modeler.ttl.in b/resources/neural_amp_modeler.ttl.in index b259c95..8df26af 100644 --- a/resources/neural_amp_modeler.ttl.in +++ b/resources/neural_amp_modeler.ttl.in @@ -101,4 +101,12 @@ A large collection of models is available at https://tonehunt.org lv2:minimum -20.0; lv2:maximum 20.0; units:unit units:db; + ], [ + a lv2:ControlPort, lv2:InputPort; + lv2:index 6; + lv2:symbol "quality_scale"; + lv2:name "Quality"; + lv2:default 1.0; + lv2:minimum 0.0; + lv2:maximum 1.0; ]. diff --git a/src/nam_plugin.cpp b/src/nam_plugin.cpp index df825fb..2632f25 100644 --- a/src/nam_plugin.cpp +++ b/src/nam_plugin.cpp @@ -252,6 +252,18 @@ namespace NAM { } } + if (*(ports.quality_scale) != qualityScale) + { + qualityScale = *(ports.quality_scale); + + NeuralAudio::NeuralModel::SetDefaultQualityScaleFactor(qualityScale); + + if (currentModel != nullptr) + { + currentModel->SetQualityScaleFactor(qualityScale); + } + } + float level; float modelInputAdjustmentDB = 0; diff --git a/src/nam_plugin.h b/src/nam_plugin.h index b47ab9e..2a7644c 100644 --- a/src/nam_plugin.h +++ b/src/nam_plugin.h @@ -60,6 +60,7 @@ namespace NAM { float* audio_out; float* input_level; float* output_level; + float* quality_scale; }; Ports ports = {}; @@ -74,6 +75,7 @@ namespace NAM { std::string currentModelPath; float prevDCInput = 0; float prevDCOutput = 0; + float qualityScale = 1.0f; Plugin(); ~Plugin();