Forum
    • Categories
    • Register
    • Login

    NAM Model switching logic

    Scheduled Pinned Locked Moved General Questions
    30 Posts 4 Posters 159 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • David HealeyD
      David Healey @pratitghosh
      last edited by David Healey

      @pratitghosh said in NAM Model switching logic:

      HISE/Projects/API212L/Samples

      Which folder does FileSystem.getFolder(FileSystem.Samples) point to?

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      P 1 Reply Last reply Reply Quote 0
      • P
        pratitghosh @David Healey
        last edited by

        @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...

        David HealeyD resonantR 2 Replies Last reply Reply Quote 0
        • David HealeyD
          David Healey @pratitghosh
          last edited by David Healey

          @pratitghosh said in NAM Model switching logic:

          The same place...?

          Test it - Console.print(FileSystem.getFolder(FileSystem.Samples).toString(0)); just to be sure.

          Free HISE Bootcamp Full Course for beginners.
          YouTube Channel - Public HISE tutorials
          My Patreon - HISE tutorials

          P 1 Reply Last reply Reply Quote 1
          • resonantR
            resonant @pratitghosh
            last edited by resonant

            @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.

            P 1 Reply Last reply Reply Quote 1
            • P
              pratitghosh @David Healey
              last edited by

              @David-Healey
              Interface: F:\Apps\HISE\Projects\API212L\Samples

              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @pratitghosh
                last edited by

                @pratitghosh Show us the code for your 5 model version.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                P 1 Reply Last reply Reply Quote 0
                • P
                  pratitghosh @resonant
                  last edited by

                  @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.)

                  resonantR 1 Reply Last reply Reply Quote 0
                  • P
                    pratitghosh @David Healey
                    last edited by

                    @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.
                    Screenshot 2026-03-26 175307.png
                    Screenshot 2026-03-26 175212.png

                    David HealeyD 1 Reply Last reply Reply Quote 1
                    • David HealeyD
                      David Healey @pratitghosh
                      last edited by

                      @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.

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      P 1 Reply Last reply Reply Quote 1
                      • resonantR
                        resonant @pratitghosh
                        last edited by resonant

                        @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?

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          pratitghosh @David Healey
                          last edited by

                          @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)

                          1 Reply Last reply Reply Quote 0
                          • P
                            pratitghosh @resonant
                            last edited by

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @pratitghosh
                              last edited by

                              @pratitghosh Remove these two lines of code

                              70f8b5c5-f1c4-4745-b4a9-506c22782de2-image.png

                              Can you share a minimal project with 5 nam models and your script for loading them with the drive knob?

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                pratitghosh @David Healey
                                last edited by

                                @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.

                                David HealeyD 1 Reply Last reply Reply Quote 0
                                • David HealeyD
                                  David Healey @pratitghosh
                                  last edited by

                                  @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.

                                  Free HISE Bootcamp Full Course for beginners.
                                  YouTube Channel - Public HISE tutorials
                                  My Patreon - HISE tutorials

                                  P 2 Replies Last reply Reply Quote 0
                                  • P
                                    pratitghosh @David Healey
                                    last edited by

                                    @David-Healey Aye aye, cap'n.

                                    1 Reply Last reply Reply Quote 1
                                    • P
                                      pratitghosh @David Healey
                                      last edited by

                                      @David-Healey Test.zip

                                      Well apparently you can just upload zips straight into this forum. Neat.

                                      1 Reply Last reply Reply Quote 0
                                      • resonantR
                                        resonant
                                        last edited by resonant

                                        @pratitghosh said in NAM Model switching logic:

                                        @resonant Also what's Aida x?

                                        It’s a cpu friendly alternative to nam. Not sure if it is more accurate than nam but it is pretty good. It works in Hise too.

                                        https://mod.audio/aida-x-colab-training-guide/

                                        David HealeyD 1 Reply Last reply Reply Quote 0
                                        • David HealeyD
                                          David Healey @resonant
                                          last edited by David Healey

                                          @pratitghosh

                                          Ok I understand what the issue is now. I hadn't worked with neural nodes before so the terminology was confusing me slightly.

                                          So according to Christoph you can't change the model at runtime in a single neural node through scripting. You need to do as @resonant said and create multiple nodes with 1 model loaded into each.

                                          Free HISE Bootcamp Full Course for beginners.
                                          YouTube Channel - Public HISE tutorials
                                          My Patreon - HISE tutorials

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            pratitghosh @David Healey
                                            last edited by

                                            @David-Healey In the same conversation there are 2 replies from scottmire and sinewavekid... Do you have any information on those?

                                            Using a script to change between neural networks? Or using clearModel() to load a new network?

                                            Or if not that either, can you help with the timer to silence thing?

                                            David HealeyD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            13

                                            Online

                                            2.2k

                                            Users

                                            13.5k

                                            Topics

                                            117.7k

                                            Posts