HISE Logo Forum
    • Categories
    • Register
    • Login

    Mod Matrix with Scriptnode / Hardcoded FX

    Scheduled Pinned Locked Moved Unsolved ScriptNode
    6 Posts 4 Posters 44 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.
    • HISEnbergH
      HISEnberg
      last edited by

      Just curious if someone has an example on how to do this / best way to set this up? I'm literally just scratching the surface on the topic.

      Does the modulation happen on the UI thread?

      I see in Scriptnode you can right click the macro and set "ExternalModulation" as well as the ModulationBlockSize of the network. Just curious how this actually works (is it calling the scriptnode parameter every block and updating it) and if there is a better method if you need super precise modulation timing (per sample for instance)?

      Also how do you connect the modulation to the scriptnode network/ hardcoded FX?

      Thanks !

      Sonic Architect && Software Mercenary

      ustkU 1 Reply Last reply Reply Quote 0
      • ustkU
        ustk @HISEnberg
        last edited by ustk

        @HISEnberg You need these preprocessors

        HISE_NUM_SCRIPTNODE_FX_MODS=8
        HISE_NUM_POLYPHONIC_SCRIPTNODE_FX_MODS=0
        HISE_NUM_SCRIPTNODE_SYNTH_MODS=0
        NUM_HARDCODED_FX_MODS=8
        NUM_HARDCODED_POLY_FX_MODS=0
        NUM_HARDCODED_SYNTH_MODS=0
        

        and in the networks you use core.extra_mod node
        It is sample accurate if you use it in a frame container. Otherwise it is the ModulationBlockSize that is taken but I am not 100% sure how. Because if an audio block is 512 and the modSize is 16, I don't see how it works...

        The extra slots will appear in th scriptFX and in the hardcodedFX if you chose the preprocessors to do so

        Screenshot 2025-11-25 at 00.03.17.png

        Hise made me an F5 dude, browser just suffers...

        HISEnbergH 1 Reply Last reply Reply Quote 1
        • HISEnbergH
          HISEnberg @ustk
          last edited by

          @ustk nice thank you will try this out later!

          Sonic Architect && Software Mercenary

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

            It is sample accurate if you use it in a frame container. Otherwise it is the ModulationBlockSize that is taken but I am not 100% sure how. Because if an audio block is 512 and the modSize is 16, I don't see how it works...

            If the ModulationBlockSize is set, then HISE will split up the incoming buffers and send out parameter values with this control rate, so:

            512 samples in, ModulationBlockSize = 16
            
            - calculate all modulation values and send the parameter callbacks
            - process 16 samples
            - calculate all modulation values and send the parameter callbacks
            - process 16 samples
            ...
            

            Note that the frame container will not make this sample accurate because that's a inner property of the network and HISE has no idea whether you use frame processing from the outside.

            That's why it's recommended for high-resolution modulation requirements to use the extra_mod nodes and connect it to the slots - they can fetch the modulation signal from within the node and apply it to the signal (using multiplication) or modulate any parameter with the resolution you want within your network.

            1 Reply Last reply Reply Quote 1
            • OrvillainO
              Orvillain
              last edited by

              I had a strange thing with this recently, where I turned on external modulation for all my parameters, and my script node parameters started resetting to zero, and causing oddness in the DSP stream and all sorts. I need to debug it, might've been a one off or a weird bug.

              Musician - Instrument Designer - Sonic Architect - Creative Product Owner
              Crafting sound at every level. From strings to signal paths, samples to systems.

              OrvillainO 1 Reply Last reply Reply Quote 0
              • OrvillainO
                Orvillain @Orvillain
                last edited by Orvillain

                @Orvillain

                @Christoph-Hart
                https://youtu.be/-XchgrM-yR8

                Things I notice, and I don't think this was happening to me a bunch of branches ago. Sorry, can't be more specific!

                • Setting a parameter to use external modulation can reset all of the parameters that are already set to use external modulation, to zero.
                • Right-clicking a parameter will reset any parameters that are already set to use external modulation, to zero.
                • fuzzy glitching when assigned to certain parameters, even though no modulation signal is incoming.

                Any ideas on those??

                (btw, I've not yet tried turning modulation on directly inside the c++ code. Haven't gotten around to testing it)

                Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                Crafting sound at every level. From strings to signal paths, samples to systems.

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

                53

                Online

                2.1k

                Users

                12.9k

                Topics

                111.9k

                Posts