HISE Logo Forum
    • Categories
    • Register
    • Login

    Global Velocity Modulators - and Arps.....

    Scheduled Pinned Locked Moved General Questions
    16 Posts 3 Posters 427 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.
    • Christoph HartC
      Christoph Hart @Lindon
      last edited by

      @Lindon no but you can use script voice start modulator and then return 1 if it‘s an artificial event.

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @Christoph Hart
        last edited by

        @Christoph-Hart said in Global Velocity Modulators - and Arps.....:

        @Lindon no but you can use script voice start modulator and then return 1 if it‘s an artificial event.

        Thanks - but Im not sure how that helps me , perhaps some explanation of my use case:

        I have 3 Arps - each is transmitting notes on Channels 14, 15, and 16....

        I have a set of "voices" (synthesiser groups) that include a "MIDI filter" for MIDI Channel numbers...

        So now "voices" can be assigned(or not) to any arp, and if not assigned will ignore the arp generated notes....... BUT:

        These "voices" have a filter, and a Global Voice Start modulator, which is connected to a Global Velocity modulator... so normally the Global Velocity modulator passes its values into the filter modulator and all is good..... BUT:

        The Global Velocity Modulator is "listening" to the APR notes.... and passing its value into the Voices filter freq.

        So the voice isnt playing the arp notes, but the Filter is listening to the Arp notes velocities, whihc is wrong...

        HISE Development for hire.
        www.channelrobot.com

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @Lindon
          last edited by Lindon

          @Lindon ok hang on Im on the way to it....

          function onVoiceStart(voiceIndex)
          {
          	if(!Message.isArtificial())
          	{
          		Console.print("Send the actual note velocity");
          		Console.print(GlobalVeloMod1.getCurrentLevel());
          	}
          }
          

          OK last bit -- (Ive never used this type of Global Modulator before), how do I "send" the value from here???

          HISE Development for hire.
          www.channelrobot.com

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @Lindon
            last edited by Lindon

            @Lindon Ok problems....

            this is my code in my Global Script Voice Start Modulator

            function onVoiceStart(voiceIndex)
            {
            	if(!Message.isArtificial())
            	{
            		Console.print("Send the actual note velocity");
            		Console.print(GlobalVeloMod1.getCurrentLevel());
            		return GlobalVeloMod1.getCurrentLevel();
            	}
            }
            

            This generates the following in the Console:

            Script Voice Start Modulator1: 0.4972764253616333
            Script Voice Start Modulator1: Send the actual note velocity
            Script Voice Start Modulator1: 0.4972764253616333
            Script Voice Start Modulator1: Send the actual note velocity
            Script Voice Start Modulator1: 0.5797507762908936
            Script Voice Start Modulator1: Send the actual note velocity
            Script Voice Start Modulator1: 0.4972764253616333
            Script Voice Start Modulator1: Send the actual note velocity
            Script Voice Start Modulator1: 0.5268775224685669
            

            And I have a Global Voice Start Modulator in the Synthesiser Filter:

            49b5df24-9d39-4c47-9a12-eb9df6dd542f-image.png

            So this works for every note EXCEPT the first note - which is silent(as the freq is being set = 20HZ - so I assume 0 is being sent...)

            What am I doing wrong?

            HISE Development for hire.
            www.channelrobot.com

            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @Lindon
              last edited by Lindon

              @Lindon said in Global Velocity Modulators - and Arps.....:

              function onVoiceStart(voiceIndex)
              {
              if(!Message.isArtificial())
              {
              Console.print("Send the actual note velocity");
              Console.print(GlobalVeloMod1.getCurrentLevel());
              return GlobalVeloMod1.getCurrentLevel();
              }
              }

              damn works fine in a simple project....without an Arp - but fails with anything with an arp in it...

              HISE Development for hire.
              www.channelrobot.com

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

                1. Use the script modulator as global modulator INSTEAD of the velocity modulator. You need to basically reimplement the velocity logic, but that shouldn't be more than two lines of code
                2. Always return a value. Your false branch doesn't return anything which will probably be converted to a zero, so silence. return 1.0 is your friend as last statement.
                LindonL 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @Christoph Hart
                  last edited by Lindon

                  @Christoph-Hart said in Global Velocity Modulators - and Arps.....:

                  1. Use the script modulator as global modulator INSTEAD of the velocity modulator. You need to basically reimplement the velocity logic, but that shouldn't be more than two lines of code
                  2. Always return a value. Your false branch doesn't return anything which will probably be converted to a zero, so silence. return 1.0 is your friend as last statement.

                  problem with 1 is I want to retain the ability to have the user "draw" the curve they want.....

                  But point 2 is definitely t-shirt time for me... thanks..

                  I think my simplest solution may be to move the Arps AFTER the Global Modulators....as the retrigger functionality in the Global LFOs is getting screwed over too....

                  HISE Development for hire.
                  www.channelrobot.com

                  d.healeyD 1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @Lindon
                    last edited by

                    @Lindon said in Global Velocity Modulators - and Arps.....:

                    I want to retain the ability to have the user "draw" the curve they want.....

                    Add a table to your modulator

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @d.healey
                      last edited by

                      @d-healey to my ScriptVoice Start Modulator?

                      HISE Development for hire.
                      www.channelrobot.com

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Lindon
                        last edited by

                        @Lindon Yeah, it's just like any other script, you can give it a gui and then read from the table to scale the velocity.

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        Christoph HartC LindonL 2 Replies Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @d.healey
                          last edited by Christoph Hart

                          @d-healey this. That's why I said "two lines of code" and not "one line of code" :)

                          1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @d.healey
                            last edited by

                            @d-healey said in Global Velocity Modulators - and Arps.....:

                            @Lindon Yeah, it's just like any other script, you can give it a gui and then read from the table to scale the velocity.

                            Nope not getting it... Script Voice Start modulators... can use ScriptNode, but I cant see where I build a GUI..or how I get that to show up in the plugins GUI...

                            HISE Development for hire.
                            www.channelrobot.com

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Lindon
                              last edited by d.healey

                              @Lindon said in Global Velocity Modulators - and Arps.....:

                              can use ScriptNode

                              Oh right, this is one of those things. Because everyone uses script node for the node part and not the scripting the interface designer isn't shown...

                              I use a custom workspace so I can see both, you can also add the interface designer as a floating tile.

                              You should create the GUI through scripting for your modulator rather than adding controls in the interface designer with the mouse. That way when you reuse your modulator in another project the GUI will be there too.

                              @Lindon said in Global Velocity Modulators - and Arps.....:

                              show up in the plugins GUI...

                              Connect the table on your UI to your modulator via processor/parameter ID - just like any other module.

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              LindonL 1 Reply Last reply Reply Quote 0
                              • LindonL
                                Lindon @d.healey
                                last edited by

                                @d-healey right LOL - another thing in HISE that I should "just know about" even tho there's no clue in the default UI how or where to find it..

                                HISE Development for hire.
                                www.channelrobot.com

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

                                  @Lindon yes in an ideal world the script voice start modulator should show the interface designer instead of the scriptnode workspace but that shouldn‘t keep you from slapping one lousy table on the modules interface by scripting.

                                  That makes it three lines of code…

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

                                  31

                                  Online

                                  1.8k

                                  Users

                                  12.1k

                                  Topics

                                  105.7k

                                  Posts