neural-amp-modeler-lv2: a headless NAM player for LV2 hosts
Neural Amp Modeler LV2 plugin
At a glance
- What is it?
- It plays Neural Amp Modeler captures inside LV2 hosts with no custom GUI, relying on atom:Path support to load .nam files. The catch is sample rate: run your host at the model's training rate or the tone drifts.
- Who is it for?
- Adopt it if you run a Linux DAW, already have .nam captures, and want the model playback to happen inside the host rather than in a separate app. Skip it if your host lacks atom:Path support, if you need a GUI to browse models, or if you cannot run at the model's training sample rate.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 26 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What neural-amp-modeler-lv2 actually is
This is an LV2 plugin that plays back neural network amp models. It does not train anything, and it does not capture your amp. Training happens elsewhere, in the Neural Amp Modeler ecosystem; this repository is the playback side, wrapped in the LV2 plugin format so a DAW can host it like any other effect. The model handling itself lives in a separate dependency, NeuralAudio, pulled in as a submodule.
It supports two families of files: NAM models, both A1 and A2, and RTNeural keras json models of the kind Aida-X uses. The README points to Tone3000 as the best source of models, which is the practical answer to where the .nam files come from.
The audience is narrow but real: Linux users with an LV2 host, and anyone on macOS or Windows whose host also speaks LV2. If you use a plugin format that is not LV2, this build is not for you, and the README explicitly redirects GUI-seekers to brummer10's separate neural-amp-modeler-ui project, to the version shipped with the MOD Desktop App, and to the author's own Stompbox pedalboard app.
No GUI, and why atom:Path is the whole story
The README states plainly that there is no custom plugin user interface. That is not an oversight; it is the design. The plugin exposes four host-visible controls: Input (pre-model gain in dB), Output (post-model volume in dB), Quality, and Model. The Model control is the interesting one. Selecting a model means handing the plugin a file path, which requires the host to support atom:Path parameters. Reaper does as of v6.82. Carla and Ardour do, though the README notes an unrelated issue in the current stable Carla release.
If your host does not support atom:Path, you cannot point the plugin at a .nam file, and the plugin is effectively inert. The README's advice is to ask the host developers for the feature. That is a hard dependency on someone else's roadmap, and it is the single most important thing to check before installing anything.
Quality deserves a note because it is conditional. For NAM A2 models, a value below 0.5 selects a lite model and a value above 0.5 selects a full model. For other model types the control may do nothing, which the README signals with "if applicable".
Building and loading a first model
There is no packaged installer described in the README. The documented path is to build from source with CMake. The clone command uses --recurse-submodules, which matters because NeuralAudio is a submodule and a plain clone leaves it empty.
git clone --recurse-submodules -j4 https://github.com/mikeoliphant/neural-amp-modeler-lv2
cd neural-amp-modeler-lv2/buildOn Linux or macOS, configure and compile in Release mode:
cmake .. -DCMAKE_BUILD_TYPE="Release"
make -j4On Windows the README gives a Visual Studio generator instead, with a note that you must change the version string if you are on a different Visual Studio release:
cmake.exe -G "Visual Studio 17 2022" -A x64 ..
cmake --build . --config=release -j4After building, the README says the plugin will be in build/neural_amp_modeler.lv2. That directory is the LV2 bundle; getting your host to see it means placing it where your host scans for LV2 bundles, which the README does not spell out. From there, add the plugin to a track, set Model to the path of a .nam file, and adjust Input and Output. For a typical amp-only model, the README is explicit that you need an impulse response after this plugin to model the cabinet.
Sample rate is not a preference
The plugin does no resampling of its own. The README states that to get the intended behavior you must run your audio host at the same sample rate the model was trained at, usually 48kHz. Run a 48kHz model at 44.1kHz and nothing in the plugin corrects for it; the model is fed audio it was not trained on.
The one documented exception is oversampling, and it is narrower than the word suggests. It applies when your host rate is an even multiple of the model rate. A 48kHz model at 96kHz is 2x oversampled and behaves as expected. A 48kHz model at 88.2kHz is not an even multiple and does not qualify. The README also notes that if your DAW has its own oversampling feature, you can use it safely, and that running oversampled carries a significant performance cost, useful mainly for reducing aliasing.
Input level is the second calibration point. The expected input level is 12 dBu. Models that carry input level information are calibrated against that figure, and the README tells you to adjust your interface's input level relative to 12 dBu if you know what your interface delivers. Skip this and a model that was captured at a specific drive level will not respond the way it did when it was made.
CMake options worth knowing before you build
Two build flags change behavior meaningfully. USE_NATIVE_ARCH is off by default; passing -DUSE_NATIVE_ARCH=ON enables processor-specific optimizations, which the README frames as appropriate for a relatively modern x64 processor. That is a build-time bet on the machine that will run the plugin, not just the machine that compiles it.
cmake .. -DCMAKE_BUILD_TYPE="Release" -DUSE_NATIVE_ARCH=ONThe second is SMART_BYPASS_ENABLED. When enabled, the plugin bypasses model processing once the input has been silent below -100 dB for enough samples, with the threshold determined by the model's receptive field size. For a guitar track with long gaps, that is idle CPU returned to the rest of the session. The default is off, so a stock build keeps processing silence.
The README also notes that NeuralAudio has its own CMake options and that adding them to this project's cmake command passes them through to the NeuralAudio build. That is the escape hatch if a model type or performance setting you need is configured downstream rather than here.
Where it is the wrong tool
The clearest failure mode is a host without atom:Path support. You can build the plugin, install the bundle, and still be unable to select a model. Nothing in the plugin works around that.
The second is the sample rate constraint. If your project lives at 44.1kHz and your models were trained at 48kHz, this plugin will not correct the mismatch, and the README does not describe any fallback. You either move the project, find models trained at your rate, or accept that the playback is not what the model author intended.
The third is workflow. With no GUI, there is no model browser, no waveform, no visual feedback. Auditioning a folder of captures means changing a file path parameter repeatedly in the host. If that sounds tedious, the README's own pointers to brummer10's GUI version, the MOD Desktop App build, and Stompbox are the honest answer, and they cost you the minimalism that makes this plugin easy to build.
Finally, amp-only models need a cabinet impulse response after them. If you expected a single plugin to deliver a finished guitar tone, you are missing a stage.
How it compares to a GUI NAM player
The natural alternative is brummer10's neural-amp-modeler-ui, which the README links directly and describes as a GUI version that works for Linux and Windows. The difference is not sound quality; both are playing NAM models, and this repository's model handling comes from NeuralAudio. The difference is where the interface lives.
Here, the host supplies every control and the model is chosen through a file path parameter. There is nothing to draw, which keeps the plugin small and the build simple, and it means the plugin inherits whatever the host does well: automation, session recall, parameter modulation. With a dedicated GUI, model selection becomes a visual act inside the plugin window, which is friendlier for browsing but adds a toolkit dependency and its own build surface.
If you already work inside Ardour or Reaper and treat plugins as parameters rather than windows, the headless approach fits. If you spend sessions swapping between dozens of captures, the GUI version will save you time that this one spends on file dialogs.
Maintenance, licence and upgrade cost
The repository is not archived, and the last push was on 2026-09-04. Releases are frequent: v0.2.1 on 2026-06-26, v0.2.2 on 2026-07-08, v0.2.3 on 2026-07-20. The version numbers are still in the 0.2.x range, which is worth reading as a signal about API and behavior stability rather than as a quality judgement.
The licence is GPL-3.0, and the repository carries LICENCE.md and CREDITS.md at the top level. For most users this is unremarkable. It matters if you intend to redistribute a build, ship it inside a product, or link it with code under incompatible terms; the GPL-3.0 obligations apply to distribution, and the model handling code lives in the separately licensed NeuralAudio dependency. That is a question for your own legal review, not something this article can settle.
Upgrade cost is dominated by the build. Because NeuralAudio is a submodule, updating means updating submodule contents as well as the top-level tree, and because the plugin has no GUI, a regression shows up as a parameter that stops loading a model rather than as a visibly broken window. Rebuilding after a pull is the routine, and the CMake options you chose the first time have to be chosen again.
Editorial conclusion
Adopt it if you run a Linux DAW, already have .nam captures, and want the model playback to happen inside the host rather than in a separate app. Skip it if your host lacks atom:Path support, if you need a GUI to browse models, or if you cannot run at the model's training sample rate. Verify first that your host exposes the Model parameter as a file path and that your interface's input level can be matched to the 12 dBu the plugin expects; both are documented preconditions, not optional tuning.
Frequently asked questions
What is a neural amp modeler?
It is a machine learning model of an amplifier's sound, captured by training a neural network on audio from the real amp. This plugin plays those models back; it does not create them.
What is an LV2 plugin?
LV2 is a plugin format, and neural-amp-modeler-lv2 is built for it. The README notes that Reaper supports the atom:Path parameters the plugin needs as of v6.82, and that Carla and Ardour do as well.
Do I need a DAW to use neural amp modeler?
For this plugin, yes. It is an LV2 plugin, so it needs an LV2 host to load it and to expose the Input, Output, Quality and Model controls. The README also points to the MOD Desktop App and to Stompbox as other ways to run these models.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/mikeoliphant-neural-amp-modeler-lv2)