HISE Logo Forum
    • Categories
    • Register
    • Login

    Velocity-notenumber script?

    Scheduled Pinned Locked Moved General Questions
    17 Posts 3 Posters 1.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.
    • d.healeyD
      d.healey @hisefilo
      last edited by

      @hisefilo You could use a table control to get the "x" if you want to be able to shape it.

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

      hisefiloH 1 Reply Last reply Reply Quote 1
      • hisefiloH
        hisefilo @d.healey
        last edited by

        @d-healey have to learn how to do that! But will be perfect

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

          @hisefilo See my woodwind library (specifically the controller handler script) for some hints.

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

          hisefiloH 1 Reply Last reply Reply Quote 0
          • hisefiloH
            hisefilo @d.healey
            last edited by

            @d-healey :) thanks David!

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

              Or just use this buddy...

              /** TableVelocity Booster
              *
              *   This script is boosting the velocities according to the table value 
              *   of the given note number and the gain slider.
              *
              *   Usage: 1. Set the table to create a boost curve for the note range.
              *          2. Set the gain slider to control the amount of boost
              *   
              *   It will "fill up" the velocity to the max amount. Example:
              *   
              *   Table value is at 50% for a given note, gain is at 100%.
              *   If you press a key with velocity 40, it will add 50% of the difference
              *   to 127 (~43). If the gain is at 80%, it would add 40% and so on.
              */
              
              Content.setHeight(150);
              const var table = Content.addTable("table", 0, 0);
              table.set("width", 512);
              table.set("height", 150);
              const var gain = Content.addKnob("Gain", 600, 0);
              gain.set("mode", "NormalizedPercentage");
              function onNoteOn()
              {
              	local tableValue = table.getTableValue(Message.getNoteNumber());
              	local veloDifference = 127 - Message.getVelocity();
              	local delta = parseInt(tableValue * veloDifference * gain.getValue());
              	local newVelocity = Message.getVelocity() + delta;
              	
              	Console.print("In: " + Message.getVelocity() + "Out: " + newVelocity);
              }
              function onNoteOff()
              {
              	
              }
              function onController()
              {
              	
              }
              function onTimer()
              {
              	
              }
              function onControl(number, value)
              {
              	
              }
              
              hisefiloH 2 Replies Last reply Reply Quote 0
              • hisefiloH
                hisefilo @Christoph Hart
                last edited by hisefilo

                @christoph-hart yeah!!! Thanks, scripting is not my field. Maybe in future Hise should add this kind of hardcoded scripts (for newbies like me:)

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

                  Nah this is a prime example for custom MIDI processing. A generic module would not make sense.

                  1 Reply Last reply Reply Quote 0
                  • hisefiloH
                    hisefilo @Christoph Hart
                    last edited by

                    @christoph-hart I can see the script doing the job on console output but seems not to affect the modules,

                    Velo Gain: In: 32Out: 127
                    Velo Gain: In: 44Out: 127
                    Velo Gain: In: 40Out: 127

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

                      @hisefilo Did you place it at the top of the tree?

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

                      hisefiloH 1 Reply Last reply Reply Quote 0
                      • hisefiloH
                        hisefilo @d.healey
                        last edited by

                        @d-healey Yep!

                        HiseSnippet 1329.3oc4XstaZbDEdVvqcA2DkH4V0etB0JgyEKvI1ooQU9BX6hRvlZHt4eQi2c.FkcmY6ryZGZUdM56PeC5SQUeDxiPdCZOyLKrK1DLXkjVoh7OXNy4x24Lma3VBtKIJhKPVE5LHjfr9b61CXx905ioLTi5HqaZ2DGIIBGCocGDhihHdHKq7GnHXUXAj9y61ZWrOl4RRIgPmvotjmQCnxTps19oTe+8wdjNzfLb+vsa3xY0397X.O4sqfBwtuB2ibHVwVNaj0h64QkbQaIVRhPVKrK2aP697yYF9OgFQO0mnNTE0FTjg79beOEhUeGUqO02q0P+NBgrrakFExahBqX2j5QGQOMZbK8ENoRjMdXkaZvq50DdVYf2BF3ca61tBZnL8FE1V19DhO24fK9LY3Ek62yYWiyjDlbsHh7GHzd8kkqtQkUeRQHtGIcNCKbjX.gNeuyPNwddcTjJWReSo64TA9CDQeTonxkNm5I6C2rQ00G+h9Za.2bQqzCv33F4oL9okKovNv9lURLhhOipB3dJiW5PtH.6S+EhWKhvEDFxOJs5S5FybkTNygyNjKIGwJuZwesXAetK123Smf8iUNlAd8HxNinVtIDDA8nnpj9v3fSIhxqB.HQCmAA15ztcIBBjfCZo55Ox49NYjSE5coxAkSExi3Kw.ugXQDoASVNCNtyEU4czwDslzPJiwYjyGpcPaSzlN20XMPlhEfnZDG7wPAELZoFruyoDvv6SvRGEKMbjwPf0eyEioc6ZBpEeSwLWodCEbeeU.6x2ppvESQrxLcr9dPVA30C4CRzGuRZ4YqRx0jOkgQNqAiJOJjjzgXX5wPJUQibtrLk5TYopclIvVJooWJiRx2gh5bIhBdpTWReijRZcVIhB5XIac9BRGYftTV6.ZvCKwHqMrevlqM9myNZs05F+X0Websjyq08tYNaLu1l4M17lI1rsO0iHzFcQac6iDap6L+1e7O9ysPOuQckog9IINA3XgDgjpddrpSNC5yaZNUvtNI5URdn1KCB4LkKas3U4muV4ip4.CF9EceEPgKhxYlPX5mnn7aCGvjwBKcUdk1BuHWFKDP877Is3QTUZY5nn2tUTb2tzWqdI+Fjp2Cx5KsmTuGXb1kZOCCI3dw9X43SNTXH4Bkwx1htgJjBfXP1woyw3jJSbbR0IkCNiv811snR29SFu4l.dUI0ejwaxv4aXuGz1zUlB1Er2+EW2IwWOnbSCTV1tMkQzaLoAxWnO67S3yHNGPXDgJnNkcl9qYcmovYdmoibkf06HvrnPdzXJtMIf1AJVhxR74Qj8Eje9X0ibV503pwVS3p2s09fONQYZikwBc1xNA7Xlbrri7i+jXOaszGunIC+S+sxZg+EVp6CeU3G0lFywNn4ZcoenvsfT8fPexdL0lL.ESWi5jt3Xe4HpYAbSNiG1myntYSLNlHEzd8HhrtwD8scjR3GDjRYksOl3SvYSx+5seFjbhEM0sre+gk7yVXY1VGehOceksAtNpBVm+S02eICrKZObaOMfWYzQmQtyUCVn8gYTdlWzFviuPpDJkVchK8Th+3uKWdlw09c4Cxbs7++bt1w7XIk0qIFJDU6HA+9m1v7DWBfDFi3q5VaoVAK4bkgqO0lv7zG9a3SxkUUmsRtr5vK+jXi.rqf+RWyVtpZ0OSSA7al9+fPA6lpyNUGteqJ1.q.ReoqqJXeeH5LYIVetk3AysDObtkXi4VhMmaIdzbKw2NEITyY2IVxCLkd.gV6o+cEVV6wTsQzY4n+QJy2+O
                        
                        1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart
                          last edited by

                          Fail. I forgot Message.setVelocity(newVelocity);

                          hisefiloH 1 Reply Last reply Reply Quote 0
                          • hisefiloH
                            hisefilo @Christoph Hart
                            last edited by hisefilo

                            @christoph-hart Yesss! it's working now! thank you!!!!!

                            /** TableVelocity Booster
                            *
                            *   This script is boosting the velocities according to the table value 
                            *   of the given note number and the gain slider.
                            *
                            *   Usage: 1. Set the table to create a boost curve for the note range.
                            *          2. Set the gain slider to control the amount of boost
                            *   
                            *   It will "fill up" the velocity to the max amount. Example:
                            *   
                            *   Table value is at 50% for a given note, gain is at 100%.
                            *   If you press a key with velocity 40, it will add 50% of the difference
                            *   to 127 (~43). If the gain is at 80%, it would add 40% and so on.
                            */
                            
                            Content.setHeight(150);
                            const var table = Content.addTable("table", 0, 0);
                            table.set("width", 512);
                            table.set("height", 150);
                            const var gain = Content.addKnob("Gain", 600, 0);
                            gain.set("mode", "NormalizedPercentage");
                            function onNoteOn()
                            {
                            	local tableValue = table.getTableValue(Message.getNoteNumber());
                            	local veloDifference = 127 - Message.getVelocity();
                            	local delta = parseInt(tableValue * veloDifference * gain.getValue());
                            	local newVelocity = Message.getVelocity() + delta;
                            	Console.print("In: " + Message.getVelocity() + "Out: " + newVelocity);
                                    Message.setVelocity(newVelocity);
                            }
                            function onNoteOff()
                            {
                            	
                            }
                            function onController()
                            {
                            	
                            }
                            function onTimer()
                            {
                            	
                            }
                            function onControl(number, value)
                            {
                            	
                            }
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            14

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            102.8k

                            Posts