NAM Model switching logic
-
@pratitghosh you can just use bypass nodes for each model. And these modes will be connected to a xfader node, so it will switch between models
Edit: 100 models are pretty huge, maybe multiple xfader nodes, each one will switch 8 models
-
@David-Healey I do have the step size set to 1, I put in the rounding thing as a precaution.. Honestly it can be deleted and it wouldn't change anything...
Ik I don't need an else, I just added it after testing it without the else when it didn't work. So I thought maybe I should add it (Ik it isn't logical, but programming Gods might have smiled upon me). Anyway that didn't work either.
I'm not changing the value of index. The index is 50... I just don't want modelIndex == 50 entering the processing so I'm just removing that particular case from the processing.
-
@resonant Huh... This sounds simple... Let me try it out with 8 nodes First. If it works well, I'll start on adding more...
-
@pratitghosh Put
Console.print(value)in the else clause, do you see it change when you change the knob value?Also, where on your system are you nam files?
-
@David-Healey Yes, it does change. However what doesn't change is the object value in the neural network. I did a Console.print(neuralNetwork) inside the else and also just before the inline function. Both print out "Object:2ox7...." something. The same value. Nothing changes.
My nam files are in HISE/Projects/API212L/Samples
-
@pratitghosh said in NAM Model switching logic:
HISE/Projects/API212L/Samples
Which folder does
FileSystem.getFolder(FileSystem.Samples)point to? -
@David-Healey The same place...? It does fetch the 50.nam file. It saturates in the same way 50.nam would. That part is working. It's the drive knob callback where I try to switch models that isn't working.
Also, I just tried out @resonant 's idea with 5 models at first and it works great, except for when it switches between models there's this white noise burst. As long as that can be removed, I think this project can be completed...
-
@pratitghosh said in NAM Model switching logic:
The same place...?
Test it -
Console.print(FileSystem.getFolder(FileSystem.Samples).toString(0));just to be sure. -
@pratitghosh I think you can use timer node to make a gain node to mute then back to 0 dB to make a smoother transition. This time there will be brief silence every time the knob is tweaked.
-
@David-Healey
Interface: F:\Apps\HISE\Projects\API212L\Samples -
@pratitghosh Show us the code for your 5 model version.
-
@resonant This is an acceptable result. Silence is manageable. The white noise bursts are unbearable.
Do you have any place where I can learn how to do this? Is this in the HISE Documentation?
(I'm gonna use this technique to make a Manley Voxbox emulation. There are only 5 gain stages... Well, 10 if you count in the Line and Mic switching... And 20 if you count the xfmr in/out switch... But this can be done... I will make that plugin with this idea. As soon as I can do that silence thing, that is.)
-
@David-Healey Not a lot of code, I'm doing this 5-model thing in a new project. Here is the code and the scriptnode.


-
@pratitghosh Aha I see. Using that method you don't need any scripting because you can load the models directly in scriptnode, no? But also I don't think you can implement the timer idea with this method.
-
@pratitghosh yes documentation will be helpful.
Are you using Nam or Aida x? Nam is very cpu extensive in stereo processing. How do you prevent this?
Also can you embed models as json scripts intฤฑ the plugin, or external files? -
@David-Healey
Why is NAM like this... Just give us normies a nice loadModel function in a simple cpp that we can just put in a third party C++ node of our own like#include "./loader.cpp";
Network.loadModel(index+".nam");And Boom, job done.
But nooooooo, it has to be convoluted.
(Sorry for the rant I know it's a lot more complex than that)
-
@resonant I'm not preventing s#it... I'm just testing out the waters. So 35-40% CPU usage isn't as big of an issue right now. Just trying to see if my idea can actually be realised. Also what's Aida x?
As much as I gathered from other chats in this forum, you can embed models as json scripts. I'm not sure, as a noob, if I'll be able to do it or not... So I am just going the simplest route I can take and kinda brute forcing it to work.
-
@pratitghosh Remove these two lines of code

Can you share a minimal project with 5 nam models and your script for loading them with the drive knob?
-
@David-Healey Sorry I didn't understand what you mean. Do you want the project where I made that 5 model scriptnode thing? That's in a project called "API", which I made like a few minutes ago after seeing resonant's idea. Meanwhile the neuralNetwork code is from a project called TestPre, which I was working on originally.
-
@pratitghosh I want you to make a new project, add 5 models to it. Add the switcher script you showed in your first post (TestPre). Compress it to a zip file, upload it somewhere, and post a link here.