HISE Logo Forum
    • Categories
    • Register
    • Login

    Simple ML neural network

    Scheduled Pinned Locked Moved General Questions
    134 Posts 18 Posters 11.1k 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.
    • C
      ccbl
      last edited by

      mosfet_model.json

      Attached the model in case someone wants to look at it.

      1 Reply Last reply Reply Quote 0
      • Dan KorneffD
        Dan Korneff @ccbl
        last edited by Dan Korneff

        @ccbl Just did the same thing here. Used this script and it crashes HISE when I select the model:
        https://github.com/GuitarML/Automated-GuitarAmpModelling
        It's my first attempt, so I'm obviously doing something wrong. @Christoph-Hart is there a guide to train a model with audio files?
        Also, is there a way to implement parameterized models?

        Dan Korneff - Producer / Mixer / Audio Nerd

        orangeO 1 Reply Last reply Reply Quote 0
        • orangeO
          orange @Dan Korneff
          last edited by

          The Neural node is a promising feature.

          It would be great to see an example guitar amp model (the most used case right now) with parameters.

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          A 1 Reply Last reply Reply Quote 0
          • A
            aaronventure @orange
            last edited by

            @orange yeah actually being able to model amps would be magnificent. I have a project in the pipeline where it would save literal gigabytes (no need to deliver processed signals).

            There was also talk in another thread, I think it was the Nam (Neural AMP modeller)

            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff
              last edited by

              When I debug, I get failure here:
              Screenshot 2024-09-14 072013.png
              Screenshot 2024-09-14 072306.png

              Is this caused by a key mismatch in the JSON?
              @Christoph-Hart would you be able to take a quick look at this and see where it's muffed?

              TestModel.json

              Dan Korneff - Producer / Mixer / Audio Nerd

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @Dan Korneff
                last edited by

                @Dan-Korneff Sure I'll check if I find some time tomorrow, but I suspect there is a channel mismatch between how many channels you feed it and how many it expects.

                Dan KorneffD 2 Replies Last reply Reply Quote 1
                • Dan KorneffD
                  Dan Korneff @Christoph Hart
                  last edited by

                  @Christoph-Hart That would be awesome.
                  The json keys look like this:

                  {"model_data": {"model": "SimpleRNN", "input_size": 1, "skip": 1, "output_size": 1, "unit_type": "LSTM", "num_layers": 1, "hidden_size": 40, "bias_fl": true}, "state_dict": {"rec.weight_ih_l0": 
                  

                  Dan Korneff - Producer / Mixer / Audio Nerd

                  1 Reply Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff @Christoph Hart
                    last edited by

                    @Christoph-Hart Don't wanna load you up with too many requests, but it would be super rad if we could get this model working in scriptnode. :beaming_face_with_smiling_eyes:

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    Christoph HartC 1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @Dan Korneff
                      last edited by

                      @Dan-Korneff The model just doesn't load (and the crash is because there are no layers to process so it's a trivial out-of-bounds error.

                      Is it a torch or tensorflow model?

                      resonantR Dan KorneffD 2 Replies Last reply Reply Quote 0
                      • resonantR
                        resonant @Christoph Hart
                        last edited by resonant

                        @Christoph-Hart

                        In the homepage: https://github.com/GuitarML/Automated-GuitarAmpModelling

                        It says:

                        Using this repository requires a python environment with the 'pytorch', 'scipy', 'tensorboard' and 'numpy' packages installed.

                        Regarding the Neural node, parameterized FX example such as Distortion or Saturation is required which is currently only Sinus synth example is available on the snippet browser.

                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @Christoph Hart
                          last edited by

                          @Christoph-Hart it should be a pytorch model.
                          This is the training script I'm testing with. It uses RTneural as a backend as well:
                          https://github.com/GuitarML/Automated-GuitarAmpModelling

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          Christoph HartC 3 Replies Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Dan Korneff
                            last edited by

                            @Dan-Korneff Ah I see, I think the Pytorch loader in HISE expects the output from this script:

                            Link Preview Image
                            RTNeural/python/model_utils.py at main · jatinchowdhury18/RTNeural

                            Real-time neural network inferencing. Contribute to jatinchowdhury18/RTNeural development by creating an account on GitHub.

                            favicon

                            GitHub (github.com)

                            which seems to have a different formatting.

                            1 Reply Last reply Reply Quote 0
                            • Christoph HartC
                              Christoph Hart @Dan Korneff
                              last edited by

                              parameterized FX example such as Distortion or Saturation is required which is currently only Sinus synth example is available on the snippet browser.

                              The parameters need to be additional inputs to the neural network. So if you have stereo processing and 3 parameters, the network needs 5 inputs and 2 outputs. The neural network will then analyze how many channels it needs depending on the processing context and use the remaining inputs as parameters.

                              So far is the theory but yeah, it would be good to have a model that we can use to check if it actually works :) I'm a bit out of the loop when it comes to model creation, so let's hope we find a model that uses this structure and can be loaded into HISE.

                              Dan KorneffD 1 Reply Last reply Reply Quote 1
                              • Dan KorneffD
                                Dan Korneff @Christoph Hart
                                last edited by

                                @Christoph-Hart said in Simple ML neural network:

                                I'm a bit out of the loop when it comes to model creation, so let's hope we find a model that uses this structure and can be loaded into HISE.

                                That'll be my homework for the day. Thanks for taking a look.

                                Dan Korneff - Producer / Mixer / Audio Nerd

                                1 Reply Last reply Reply Quote 1
                                • C
                                  ccbl
                                  last edited by

                                  I realise we already hashed this discussion out, and people might be sick of it. But IMO the NAM trainer has a really intuitive GUI trainer which allows for different sized networks, at various sample rates. It also has a very defined output model format, which seems to be a sticking point with RTNeural.

                                  Given the existence of the core C++ library https://github.com/sdatkinson/NeuralAmpModelerCore

                                  Might it be easier to implement this instead, given many people want to use ML Networks for non-linnear processing for the most part?

                                  C 1 Reply Last reply Reply Quote 1
                                  • P
                                    Phelan Kane
                                    last edited by Phelan Kane

                                    I'll just leave these here:

                                    Link Preview Image
                                    Introduction — Introduction to Audio Synthesizer Programming

                                    favicon

                                    (intro2ddsp.github.io)

                                    Link Preview Image
                                    GitHub - aisynth/diffmoog

                                    Contribute to aisynth/diffmoog development by creating an account on GitHub.

                                    favicon

                                    GitHub (github.com)

                                    https://archives.ismir.net/ismir2021/paper/000053.pdf

                                    Link Preview Image
                                    Efficient neural networks for real-time modeling of analog dynamic range compression

                                    favicon

                                    (csteinmetz1.github.io)

                                    I'm convinced Parameter Inference and TCNs will be the future of audio plug-ins. CNN's will take over circuit modelling as the next fad. Training NN so we can map weights to params to make any sound source will take over. Just have a look at Synth Plant 2.

                                    Having access to trained models from PyTorch in HISE would be awesome. A few VSTs devs are using ONNX Runtime in the cloud to store the weights and the VST calls back to perform the inferences.

                                    P

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      ccbl @ccbl
                                      last edited by

                                      @ccbl for instance, how I plan to use HISE is to create plugins where I use a NN to model various non-linear components such as transformers, tubes, fet preamps etc, and then use the regular DSP in between. I'm just a hobbiest who plans to release everything FOSS though, so I'll have to wait and see what you much more clever folks come up with.

                                      Christoph HartC 1 Reply Last reply Reply Quote 1
                                      • Christoph HartC
                                        Christoph Hart @ccbl
                                        last edited by

                                        I realise we already hashed this discussion out, and people might be sick of it. But IMO the NAM trainer has a really intuitive GUI trainer which allows for different sized networks, at various sample rates.

                                        The current state is that I will not add another neural network engine to HISE because of bloat but try to add compatibility of NAM files to RTNeural as suggested in this issue:

                                        Link Preview Image
                                        Add support for NAM files · Issue #143 · jatinchowdhury18/RTNeural

                                        Hi Jatin, how hard would it be to add support for parsing the NAM file format? https://github.com/sdatkinson/NeuralAmpModelerCore Just from a quick peek at both sources the required layers are almost there (except for the wavenet layer w...

                                        favicon

                                        GitHub (github.com)

                                        There seems to be some motivation by other developers to make this happen but it‘s not my best area of expertise and I have a few other priorities at the moment.

                                        1 Reply Last reply Reply Quote 0
                                        • Christoph HartC
                                          Christoph Hart @Dan Korneff
                                          last edited by

                                          @Dan-Korneff said in Simple ML neural network:

                                          @Christoph-Hart it should be a pytorch model.
                                          This is the training script I'm testing with. It uses RTneural as a backend as well:
                                          https://github.com/GuitarML/Automated-GuitarAmpModelling

                                          Have you tried running it through this script?

                                          Link Preview Image
                                          Automated-GuitarAmpModelling/simple_modelToKeras.py at next · AidaDSP/Automated-GuitarAmpModelling

                                          Contribute to AidaDSP/Automated-GuitarAmpModelling development by creating an account on GitHub.

                                          favicon

                                          GitHub (github.com)

                                          Dan KorneffD 2 Replies Last reply Reply Quote 0
                                          • Dan KorneffD
                                            Dan Korneff @Christoph Hart
                                            last edited by

                                            @Christoph-Hart I just read the thread and found the link. Gonna give this a go first thing this morning.

                                            Dan Korneff - Producer / Mixer / Audio Nerd

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

                                            10

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts