"NeuralBlender" amp modeling plugin - feedback/beta testing requested

New features / bug fixes:

  • list of search directories for models and IR, so absolute paths don’t need to be written to each preset
  • support A2 “slimmable” factor which honestly i barely hear any difference, CPU usage is slightly lower
  • fixed: skip drawing spectrum on EQ graph if EQ is disabled
  • standalone: actual JACK connections get written to config file, not those specified on command line
  • completed command line parsing
  • added sample model/ir and preset files (they kind of suck for now, because they’re the only ones i 100% made myself)
  • added icon/desktop entry for those who don’t like to use command line
  • much more, can’t remember all

If anyone has content (model files, IR’s, presets) they’d like included in future releases, please send them to me :love_you_gesture::smiley::+1:

1 Like

Hi @delt,
Last commit [19f2fb] broken GUI in Ardour.

Thanks for testing. What/how broken exactly - does it compile? on what OS?

Building and installing went ok. Inserting in a track is ok too. But there is no GUI only edit with generic controls.

Ubuntu 26.04/Ardour 9.8.0

Can you run ardour in a terminal and tell me what error appears when you try to double click / open the UI? it would probably be something about an unresolved symbol in a .so file, just paste it here.

edit: this is probably due to libcurl not found on your system, and the cmake file not linking properly (due to experimental features i’m working on)

Try apt-get install “libcurl4-openssl-dev”

NeuralBlender: loader: load_model(2, 0, “/home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/Deluxe Reverb.nam”)
NeuralBlender: loading model 2:0: /home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/Deluxe Reverb.nam
Model is slimmable: yes
NeuralBlender: Loaded NAM model: /home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/Deluxe Reverb.nam
NeuralBlender: loader: load_model(4, 0, “/home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/vox ac120 mtg hinten_K.wav”)
NeuralBlender: loading model 4:0: /home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/vox ac120 mtg hinten_K.wav
NeuralBlender: /home/alanpasi/MyMusic/Sessions/IbanezAM53/plugins/15529/state38/vox ac120 mtg hinten_K.wav: 26448 samples, trimmed 3406 smp. silence, remaining 23042
NeuralBlender: plugin definition: line 137: invalid numeric parameter field
suil error: Failed to instantiate UI http://deimos.ca/neuralblender#ui in /usr/local/lib/lv2/neuralblender.lv2/neuralblender_ui.so
NeuralBlender: plugin definition: line 137: invalid numeric parameter field
suil error: Failed to instantiate UI http://deimos.ca/neuralblender#ui in /usr/local/lib/lv2/neuralblender.lv2/neuralblender_ui.so
NeuralBlender: plugin definition: line 137: invalid numeric parameter field
suil error: Failed to instantiate UI http://deimos.ca/neuralblender#ui in /usr/local/lib/lv2/neuralblender.lv2/neuralblender_ui.so

libcurl4-openssl-dev already installed.

Looks like the plugin built with newer code but older version of files in data/ source code directory. These files are embedded into the executable at build time so it’s not several versions of the plugin lying around.

Can you try completely deleting the source (and build) directory and cloning it again?

I changed the parser to continue but give warning on those exact errors, but this is just a crutch for now until we make sure what causes/caused this exactly.

Ok. Everything is working now!!!
Remain erros in terminal:
NeuralBlender: plugin definition: line 137: invalid EQ numeric field for ‘eqpre_%b_q’, using safe defaults
NeuralBlender: plugin definition: line 145: invalid EQ numeric field for ‘eqpost_%b_q’, using safe defaults

Thank you, @delt

Online browser/fetcher - uses tone3000’s API to download & use models and IR’s directly from www.tone3000.com

1 Like

@delt , Could you add default path for presets (write user’s access)?
Now it is /usr/local/share/neuralblender

It already remembers the last path you browsed for presets. It should be written to the config file ($HOME/.config/neuralblender/config) and reused next time you open neuralblender.

[pts/5|user@laptop-lenovo]:~$ cat .config/neuralblender/config 
model_path=/usr/nam/fav
ir_path=/usr/local/share/neuralblender/ir
preset_path=/home/user
1 Like

1.2.13: fixed a recently introduced toolkit bug (1.2.11) with the save-as file picker that caused any input text to be perceived as “ok” / enter

Looks very promising; you are setting the level very high here, so I have some comments/suggestions that reflect that:

It also really needs a pedal bank after the CAB bank (or at least after the AMP bank), where you usually place modulation effects, delays, and reverb.

It would also be good to place the second EQ section after the CAB, or at least add an LP filter there. It’s quite essential to be able to cut the top when the sounds are distorted.

I’ll test it now and see how version 2.18 works. :slight_smile:

Thanks!! :smiley:

For these two points, the reason is pretty much the same one: linear systems like EQ, cab, and most of these effects can be swapped with no impact on the output signal. So, if there’s no clipping involved, it makes no difference if your delay, modulation etc. come before or after the post EQ.

Only exception to this would be if you load a reverb IR in the cab bank and then send the output into other time-varying (ie, modulation) effects, those effects will be applied to the reverb output instead of (possibly) the other way around.

NeuralBlender just got the Sourceforge rising star award! :love_you_gesture::smiley::+1:

1 Like

Could you explain it as if I’m an idiot, please? It’s well known that modulations, delays, and reverb sound very different when you put them before or after an amp, especially a distorted one. So how do I swap them? I really do not understand. :slight_smile:

Yep, that is very true. A reverb before a non-linear stage (dist.pedal, amp) will sound like a bunch of noise / exact opposite of a noise gate, while a chorus in that position, if it’s too wide, will sound like you’re playing a unison bend.

What i meant is when 2 or more effects are next to each other in the chain, AND all of them are linear AND only 1 of them is time-based if any (for ex. two cab sims, a cab sim and an EQ, any combination adding a reverb, etc) swapping them you’ll get the same output signal. So,

reverb → dist? NOT the same as dist → reverb.
chorus → reverb ? close but not exactly same as reverb → chorus.
Any number of EQ’s and/or speaker sim IR’s? swap them any way you want, as long as they’re contiguous and there’s no clipping, you’ll get the same output signal.

That’s what i meant with the only exception that would make a diff with extra post bank is, if a long IR/reverb IR is loaded in neuralblender’s cab bank, used with post effects like chorus flanger etc - if they come before or after the reverb, the output signal will not be the exact same. But with IR and cab sim contiguous, you can swap them and you’ll get no difference in the output signal.

Hey, sorry I never got back to this. -Just got way too busy on other things.
And don’t really have the patience to try to build it again… maybe…

But I’m glad to see your plugin has had plenty of other interaction! :grin:

…
But I do have a practical, usability question:

How do you think a plugin like this would respond to an input source/signal that’s not a DI?

All of the electric guitar I’m currently working with was already recorded via an actual amp and microphones. So I’m just curious what kind of additional effect it might have if fed a signal like that… :thinking: (Hmm… I might’ve just rekindled my desire to try building again… :face_with_spiral_eyes: :melting_face: Let’s see…)

Thanks,

-J