Integrating Neural Amp Modeling into Csound
California Institute of the Arts
Complete — submitted; venue deferred to 2027
Abstract
Neural Amp Modeler (NAM) is the most widely used open-source system for the black-box
modeling of nonlinear audio hardware using neural networks. A community library of several
hundred thousand pre-trained captures exists, but there has been no way to use them inside
Csound. This paper presents NAMProcess, a Csound opcode that performs
real-time NAM inference. The opcode loads standard .nam model files, switches
between models without interrupting audio, adds no algorithmic latency, and runs
comfortably in real time on systems like the Raspberry Pi. A live dry-referenced volume
compensation system built into the opcode holds every capture in a heterogeneous 25-model
test library within ±2 dB of the player's volume. This paper details the
implementation of a thin wrapper around the NeuralAmpModelerCore C++ library and its
integration as a native plugin opcode, a drag-and-drop Cabbage plugin, and "tone
selection" in a Raspberry Pi-based guitar pedal.
Keywords: Neural Amp Modeling, Raspberry Pi, Cabbage plugin, opcode, volume compensation
Resources
- The submitted paper (PDF)
- csound_nam_opcode.cpp — the opcode
- nam_loader.cpp / nam_loader.h — background loader and model state
- kweight.h — ITU-R BS.1770 K-weighting
- di_probe.h — embedded probe signal
- CMakeLists.txt / build-on-pi.sh — build on a Pi
- test_nam_passthrough.csd — minimal test orchestra
- nam_bench.csd / analyze.py — measurement tooling