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.
    • LindonL
      Lindon
      last edited by

      Is there any way to get a Global Velocity Modulator to ignore incoming note values if these are generated by an Arp?

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

                                    12

                                    Online

                                    1.8k

                                    Users

                                    12.1k

                                    Topics

                                    105.6k

                                    Posts