| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| amd64 | 2026-09-14 | ||
| source | 2026-09-14 | ||
| README.md | 2026-09-13 | 16.1 kB | |
| Totals: 3 Items | 16.1 kB | 70 |
NeuralBlender
A simple, efficient but feature-rich amp modeling plugin based on RTNeural and NeuralAmpModeler (NAM)
Features:
- Supports nam A1, nam A2, aidax, and json model files.
- Full impulse response (convolution) for cab sim
- Reads gzipped files
- Online browsing (eg. tone3000.com) for models and IR files
- Complete STOMPBOX -> preEQ -> AMP -> postEQ -> CAB/IR signal flow with 3 "banks" of models
- 8-band parametric pre and post biquad based EQ
- Can load up to 4 models on each bank simultaneously (each model either NAM/json/aidax or IR)
- Can either blend them (normal) or switch between them like "channels" (exclusive mode)
- Standalone app and LV2 plugin
- Proper multithreading with UI and loader threads separate from DSP
- VU meters can be disabled to save a tiny bit of CPU
- Calibration target dB is now a user defined setting
- "Linked" calibration mode follows loudest model which has calib. enabled
- Calibration can be tuned for guitar or bass
- Tuner, can be enabled/disabled to save a bit of CPU
- Volume ramping/crossfade when loading, switching etc. to avoid clicks
- Each model slot / lane has:
- input gain if not an impulse response
- if IR, pitch shift +- 1 octave in 1/100 semitone increments
- output gain
- dry out gain
- pre-delay for phasing correction/effects
- optional DC flip for more phasing effects
- optional level calibration to target dB
On my Intel Core7 ultra, it loads 5 or 6 models in the middle of a busy live session, 64 sample buffers / 3 periods, and DSP load typically stays below 40%, no xruns. (with DSP threads pinned to p-cores)
Features considered for future versions: VST plugin, stereo routing, series mode(s), optionally more than 4 lanes per model bank, lane groups, DSP load-splitting/balancing etc...
Demo: https://soundcloud.com/delt01/snakeskin All the guitars and bass in this track are straight DI's processed through NeuralBlender with a bit of reverb, and flanger at one spot. The wah effect was achieved by automating one of the pre-EQ bands. NAM models used are available on https://tone3000.com
Binary distribution
On the project's downloads page, you will find the source code and the following binary packages:
- a .deb package that was tested on Ubuntu/Mint "Noble Numbat" and "Resolute Raccoon" GNU/Linux distributions.
- a .rpm that was built on Fedora 44.
- a .tar.zst that was built on Arch Linux rolling release, current as of aug 2026.
- a .tar.gz that was tested on all of the above in addition to Void Linux, and should therefore work on most other GNU/Linux distributions.
- a .tar.gz built on and for FreeBSD.
Compiling the source code
Compiles and installs with cmake. Required libs / utilities to build:
- fftw-float (core, required)
- lv2 (for LV2 plugin)
- jack (for standalone app)
- cairo/x11 (for GUI)
- libsoundfile (for .wav file loading)
- xxd utility, for inline data
Recommended:
- libcurl/openssl, to browse tones directly from websites like tone3000.com
- zlib, to read gzipped files directly
To grab & install these on debian/ubuntu/mint, just open a terminal window and run:
sudo apt install build-essential git cmake libfftw3-dev lv2-dev libjack-dev libcairo2-dev libsndfile1-dev zlib1g-dev libcurl4-openssl-dev libssl-dev xxd
On fedora:
sudo dnf install gcc gcc-c++ make git cmake fftw-devel lv2-devel jack-audio-connection-kit-devel cairo-devel libsndfile-devel zlib-ng-compat-devel libcurl-devel openssl-devel vim-common
On arch:
sudo pacman -S base-devel git cmake fftw lv2 jack2 cairo libsndfile zlib curl openssl xxd
On other distributions, the package names (and package system) are probably different, but still available.
Then to grab the code, build and install, run something like:
git clone https://git.code.sf.net/p/neuralblender/code neuralblender
cd neuralblender
mkdir build
cd build
cmake ..
make -j$(nproc) && sudo make install/fast
To uninstall, go back to the same build directory and run:
sudo make uninstall
Or, if you want to create a .deb package:
make deb
(other package targets will be added shortly)
For the standalone/JACK version, see --help text for more info/options
Supported systems
Should compile and work fine on any POSIX-compliant OS including Linux, MacOS (to be fixed), FreeBSD, etc. For now UI uses X11, but recent rewrite should make it easy to port to other graphic systems.
Tested on:
- Void Linux
- MX Moksha
- Linux Mint
- Fedora
- FreeBSD
MacOS: Expected to work soon, currently needs to be fixed. The only Mac i have is from 1986.
Android: Not really interested in supporting it, but if there's enough demand i'll make an effort.
W**dows: Don't do microsuck malware. It's bad for you, and for everyone else.
How to use it
NeuralBlender is both a standalone application and a LV2 plugin. VST support should be implemented some time in the near future.
For the standalone app, just run the executable "neuralblender". It uses JACK for audio input/output, and will try to remember which ports its input and output are connected to. For the LV2 (and eventually VST) you can load it in an audio plugin host such as Ardour, Carla, Reaper, etc. In both standalone and plugin forms, you can load or save presets as ".nbstate" files which store the entire DSP state.
For loading NAM models (.nam A1 or A2, .json, .aidax) and IR files (.wav) - "Load file" will open a file picker to select a local file. "Browse online" will open the online browser/fetcher window.
The online browser will attempt to connect to a remote host (by default www.tone3000.com) to allow you to search for, download, and use models directly from the plugin UI. Tone packs (a release containing one or more NAM or IR files) returned by your search are listed in the left panel. When you select one, its contents is shown in the right panel. The two buttons at the top right of this list are: download all files in current pack, and toggle automatically loading each model as you select it in the list. The two buttons at the top right of the package list are: open directory containing this pack if you have it, and open browser to this pack's info page on tone3000.com. "Gear types" checkboxes filter which types of gear modeling will be searched for, these are set to sensible defaults for which bank you're loading to (pedals/outboard for pedal bank, cab for IR's, etc)
The first time you open the online browser window, you'll probably have to login to your tone3000 account. This opens a browser window and listens for a valid OAuth key exchange. If your browser has never logged in to your tone3000 account, you'll probably need to enter your password, or a code that they will send you by e-mail.
More usage notes, technical details
Signal flow:
The first thing you'll notice when running the plugin is the row of buttons at the top of its window. The two square ones on the right are the master mute and bypass controls, and the 6 other ones switch between pages/tabs: Pedal, Pre-EQ, Amp, Post-EQ, Cabinet, and a misc settings tab. The five first ones have on/off indicators: they are connected in series, that is the signal flow goes from left to right through them, the output of each going to the next one's input. Each of these can be bypassed (shortcut: right click / long press on the button)
The Pedal, Amp, and Cabinet pages each represent a "bank" of 4 slots where either a NAM model or impulse response file can be loaded. These are either blended in parallel (normal mode) or switched between them like channels (exclusive mode) to form the signal generated at this stage of the signal chain. (shortcut: right click on the misc. tab)
Each lane or "model slot" has the following settings:
- Pre-delay knob: This can be useful when more than one model on this page is generating sound, to cause or correct phasing effects in the sound. The delay is displayed both in milliseconds and in individual samples / frames. The higher the host's sample rate, the more frames will represent each millisecond.
- a drop-down box listing the currently loaded model in this lane, which also acts as a menu listing other files of the same type in the same directory.
- 4 small buttons:
- browse a NAM file (.nam, .json, .aidax) or IR (.wav) from local storage or online
- clear this lane
- toggle calibration of this model (see below)
- invert the phase, or "DC flip" the output of this model. Like the pre-delay, this doesn't have much effect when only one lane is outputting sound, but it can change how multiple ones interact with each other in meaningful or interesting ways.
- a bigger button which either says "mute" (normal mode) or "use" (exclusive mode) used to, respectively, mute this lane or switch to this one, depending if this bank/page is in exclusive mode or not.
- 3 knobs on the right. Below them, the format of model loaded here is displayed, as well as the "trim" or "compensation" value obtained from measuring this model's loudness. The knobs are:
- If a NAM model is loaded in this lane, an input gain knob controls how much of the signal is fed into this model. If an IR is loaded here, the knob becomes a pitch shift that can "transpose" the IR's pitch from 1 octave lower to 1 octave higher.
- Dry out: How much of the input signal to this model is fed directly to the output
- Output: main output level for this model
IR pitch shifting is implemented with a sinc-window resampling function. The convolver itself has two different modes - normally it uses FFT processing, but if the host changes sample block sizes (for example Ardour when automations occur during playback) a time-domain convolution algorithm is used for that block and the following few blocks. This algorithm is less CPU-efficient, but ensures no clicks or pops will be heard if the host changes block sizes, at the cost of small spikes in CPU usage when these block size changes occur.
The Pre and Post EQ pages (EQ1, EQ2) give you a fully parametric 8-band EQ. These are implemented with biquad fiters and are very CPU-efficient. Each band has:
- Gain slider, ranging from -36 to +36 dB
- On/off toggle for this band
- Filtering mode for this band. Can be either:
- Highpass (low-cut) at 4 different slope intensities
- Low shelf, acting on frequencies below this band's frequency.
- Bell curve, acting on an area around the band's frequency.
- High shelf, like low shelf but for high frequencies.
- Lowpass (high-cut), cuts high frequencies, also has 4 different slope intensities.
- Frequency for this band, from 20Hz to 20KHz.
- Q factor, or so-called "quality" factor - the higher this is, the narrower and more "resonant" the area will be affected by most filter types. Very high Q is useful for notching out problem frequencies like 50 or 60 Hz hum.
The Misc. settings tab has the following sections:
- The top section lets you flip through various "pages" of settings and effects with the up/down arrows:
- Master output and presence: The master out is the "main volume" of this plugin. The presence blends in a builtin high frequency IR to the signal which simulates the way some tube amps saturate as you raise the "presence" knob.
- Noise gate: on/off switch, and knobs for threshold, attack, hold, and release.
- Phaser/resonator: This is my new implementation of a trick i've been using for decades: at the time, i was using an old Behringer unit with a phaser effect that let you set the LFO frequency to zero and control the LFO position directly. This enabled me to create various settings that really adds special a quality to the tone. You have a few noteworthy ones as presets here.
- A section with a bunch of check boxes:
- Bypass for each of the 5 parts of the siganl chain. These do the same as right-clicking or long-pressing the corresponding top button. Note that if a bank has no models loaded, it will automatically be bypassed, even if it's switched on / bypass is off. Same happens if exclusive mode is enabled and an empty model is selected. If all loaded models are muted, then the output is muted.
- Link calibration: For banks where this is enabled, any model with calibration enabled will follow the loudest of the 4 models which is enabled. This is useful for keeping the relative loudness of two models, for example.
- Exclusive mode: For banks with this enabled, instead of individual mute toggles for blending the models together, you switch between them like amp channels, ie. only one of them is enabled at any time. Bottom section:
- Tuner base frequency: The frequency used for middle A, normally 440Hz. The buttons at the right transpose this by semitones, enable/disable the tuner (shortcut: click the top logo) or reset the middle A frequency to default
- Calibration target dB: The plugin will try to measure and compensate for differences in loudness for models which have calibration enabled. This setting is the target loudness level it will try to obtain. The compensation or "trim" value is displayed on each lane at the bottom right.
- VU meters: you can disable them to save a tiny bit of CPU power.
- Calibrate for bass: The calibration function offline-feeds a builtin 1-second sample into the model and measures resulting output loudness/RMS. This selects if the guitar or bass sample will be used.
If you click the tuner button or logo at the top of the window, a tuner will be activated to help you tune your instrument.
Settings:
There are 4 tabs or pages in this window:
- UI settings:
- scale of VU meters (softest visible signal) and headroom left above 0dB.
- Calibrate default on: For standalone, when a model is loaded its caliabration enabled or disabled by default. Due to a limitation in the LV2 protocol, this works only on standalone.
- Toggle bypass on double click or right click: enable/disable. Long-press on top buttons is always enabled.
- Show tooltips: enables/disables little hints when hovering the mouse over most UI widgets.
- Directories: A list of directories for NAM models, and one for IR's. These directories will be used for finding model files, and for shortening path names saved in presets and LV2 states, so that a full absolute path is not necessary. For example, if the list contains "/home/user", then "/home/user/nam/myfile.nam" will be remembered and found simply as "nam/myfile.nam". This way, you can move entire directories of models without having to re-save all your presets.
- Network settings:
- Remote host to connect for online browser, by default www.tone3000.com
- Public API key: this is a hard-coded default that identifies NeuralBlender, but can be changed in case the key changes in the future.
- Access token: Currently unused. If you have a preference for this vs the "logout" button (see below) design suggestions are welcome.
- Keep downloaded files: if this is unchecked, files that are automatically downloaded in the browser window will be deleted immediately after they are loaded.
- Legacy key / try to use legacy API: Currently only allows access to NAM A1 models. No idea why they impose this limitation.
- Login: tries to acquire OAuth2 credentials from tone3000 to use your account and search for / download NAM models and impulse resonse files from their servers.
- Logout: TODO
- Download to: destination download directory for browser window. A subdirectory is created for each tone pack. TODO: different directories for NAM vs IR files.
- Colors/appearance: pretty self-explanatory. "Colorize lanes" applies a gold/yellow color to the pedal bank, a red one to the amps, and a greenish-blue one for the cabs. This lets you quickly see which section of your signal chain you're looking at.
License
NeuralBlender is licensed under the GNU General Public License v3.0 (GPL-3.0-or-later). See the LICENSE file for full license text.