HISE Logo Forum
    • Categories
    • Register
    • Login

    Key Limit waveform generator based on Sample maps

    Scheduled Pinned Locked Moved General Questions
    9 Posts 5 Posters 233 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.
    • Tangerine_SoundsT
      Tangerine_Sounds
      last edited by

      Re: Key limit waveform generator

      I'd like to limit the key range of my Waveform generator based on the currently loaded sample map in my sampler module.

      I've used David's video on key colouring based on sample maps and this works fine
      https://youtu.be/H1OCC-EDl14?si=9XpCB-L5L0mpLjBL

      Its seems like it wouldn't be too hard to then extend this to limit the range of the waveform generator but I'm struggling...

      My understanding is that you have to use a midi Script Processor underneath the Waveform generator. I've used this before to set the key range as a constant. See referenced topic.

      In this example I've got as far as finding the low and high key based on the sample map and printing these values to the console.

      HiseSnippet 2184.3oc6Z0sSijbEtafFM3c1rY2rQaTjVoJnbgIChsay+gkLlerAz.CHalYxFonIk6trcoocUs5pLLNSlaxSTdD1KxCPdDxk4x8MXxopta2UaLrrDlIjMXI.Wm5bN0WcpSc9oaNIl6SDBdrkcoSGDQrrenSyALY2c5hoLqC10x9KcNkHjnWfOizlG2CsGggdBY.pAl0gXs8fHrPPBrrsmbOkH1yLkk9y283swgXlOImjk0y4TexgzdTYN0Sp9DZXXcb.4TZOCtWp5A9b1N7Pde.dS53ZEg8eEtC4oXEaS3XsOVz0x923zJnhaf2J9q44UY4kWys0ZK5udqEaiWbIBt05tq4gWe41tKYYOcs.pjG2ThkDgk8TayCFzrK+bVxB7bpf1JjnF3Y0DV4Dx04gApsnhp0NcogAmjY2DVV1NmjaEmLwJ94NGQCnComaM+o5IP4RXZ.smnH7lr.77LgmqA7FCjrMfzTIP5ScZ5GSij4ynvyG4b.SRhai8KdVlvq0D+qoc1gCbvjKzC+JR8XXvPIJuhq67H3WysQoRe0Wg1byMQGc7tO6vZnF0pWqQsmtSslJpkJUBNJAuHAtWTHIFsIR6ksPGhrYBoxyl9E2YAskv8qHCpSCkE4ufgEjRCzbCpWt3QrvShIgbb.He1t.zvN7dQbFLn7r4rLqwdndelujxYHIGIHZbf709gBTKLXgPvbYakd3nHJqidaRYgTFA0NSdPX3pRhKrn7bkdSID7AVkFDkdwggl5VOIbGCUlB.1cCDE80HuJqAe4QOZN8rpO0XcfEYAScWlNOJcUV3bpr6VgQcwkynzJDt2LOxcgklSsISgv9zNcCgej5c.rm.jHPTFJlDbMPxaFhGZaT4TiwBTwS4RxS62qEI9HsZKSmKG52H3C3QA9JJvqTvaK81wdR0OJ.t1fF0gPagiUAqF6QThTYQ2.HoiqM7rJj6iCQ8nLUHuMAavpaXRG+5D5to102C1r2Tv5oDTo3DDMWNxnaLF99coHbtbjZv2aSMmkxDHUYe8lYhMBpGdeTc5skTFSa0WRJO6g7y0oDlc9Lbsw2qLJ2ugBkrZ4BAWVE7PxBQwT0szPP+fdlE8nKp+QXsqRsY7ZpVsWyP+FHDPKvMHH2OPcx0hK6hv5whqvYAT5tTQTHdvVrfhtKibgOYouLWrMLbjOMl1oCDMIgWAB2VE1KwEQcAEEkEICfUdTKkQ8P3uP.ncfnIsfK5kyPaYpHkKX1L.pNl+UEmHyRd4aN.nFQGOfQkTv42WE957tP4.O6.jRaI1rqPMnRkFZJ4LkW+wLsoaFvRfFcp1sG6bp.4w7PUJiwMspFh3qRvxL8Ms4QmgC6SFxHjmrXxWmKO4qYsA9I4ULXjyTVniiHrKqhAqzjQv2d1A6hkXUF6TZ.eQjXIUAA6cImA0Kkj+dFmcIhWI4QPoOCyfA0qISK3HItWc3fPBGqmRAnRgT4ehiIIOqWaVN1fgCP+kpmSCjcGRH5uVsKQkdHm+uoZJFS.TIG3PtEGGGX0pSVYZyLcPPv6TbSkjd4Te26d2urH0Joj0LKIuVlybF7zllI9i1NJe2YgU6EJHN6uE44tf67JZo9XG6KgaWIgPgoaiCED87PjIPLfz55g6SSFAgw0i2ouPx6sWLNpK0WTPxcIsw8CkaAwiwwpxXgYkw8SlbaUFU8EYv2BlvcgUVW+Ys0bWcc2U8zbcJuSmPxQ7.RAMqJfAJHjwHgJnno8LA44Dev6y.KCWMXx5gXYS4fvQzzI0xNBFkN3EGKyWkJYzqwBLV6UJ8Vky3PmooRbl93rREw.eZunG5jGywvE5Owql6B8s+gpVWrrSnfWdPe.9EqBV0qP5DvsyBkdpJujInxAl8RbqUZ70EhepyIToe2wiwIFCFg6vuOvXZCEerSs1sAOjb.NkS8e+U18vTWuk+patwDJO3R5P7g5VDfQjXuaiFBit1MDZO46i94l9NW+b2eu5Nz8pakk+KSV9OyooLlfgpZ6j19qFCkbxZF9C68ozH7Mo+YC191pa2GrQwEo92ppWps5w6yJrVoHuAARbJUI+xm7AUazXuXd+nQk56dr1o3zXHsJXJLm3XFAr0Ry83NwbgnMrcz5RXN0I8i6nrU4TZPNiDKJRCJTHMInpNOaaUcXBh57k5eDFZQoPQR5Uw8Tr9LdBmjwdiLtxHiWbjwKMx3kGY7JiLd07wIFTnyPkmwm3.FDDCpOFANixKT05zWupVAsoStav41zNCWoDJ2Gl71OLYgmL2LYXrIUY3qwNCt9ATTX7ybRq.MiZkBn7HNiG0kyn9Ec1kI8QZh8wtgfNwg6Z4T97pMHgDrv315ut5gPJcbbw6v+frEd+feJki875W3j.WjJ9E5+cSuM4+2jd6pLQ+jzjaHcOJ2AOCeniNDLRkw7CI7Zv6q5SOKCjCjlpIjZ1mXlrZBUBvjwtpwJPzjvBzCTsSmNoWVlM0jdYSZ4moJX+j9ccW11SRXpLN5pvBgblgltnBn..EjfrQlFwuHwH9QNpmskto.s86m6X9xhHwJq6U0Xv+31uPljGH.TOASDwEDOSM2jzidJzvqn.0QjnxXkn.0cIx9rhpNgTAtTlh5fovyzmIiXEyZifDxETFLtflNxrrj+4iqoOuZRfcdvwBevvnryEKFJTPzOxDOSAyIWwj7933.3LrP9jqt+Juezze00+8k8ybtvKbZbu2L6+tSx6f5viewKeRsuAsIZoEyduT6evd6mRbU2Ml49GI5+4ORz6q769J+tuxu65U9oBl+561mhegCjKsBReTh9uyY4Ghx.+wxZzC6GyeoeRZLUfkGno.1Vl9eRnYbNRMF4YoSsYdf0Cpq3k99EU0EDrxMUvEuoBtzMUvkuoBtxMUvUuoBt12ufpx91puj2K49GT96I0R5Twt1vNUlz5eSGrO4x
      

      However, I cant figure out how to connect this to the Script Processor to update the key range of the waveform generator. Any ideas?

      LindonL d.healeyD rglidesR 3 Replies Last reply Reply Quote 0
      • LindonL
        Lindon @Tangerine_Sounds
        last edited by Lindon

        @Tangerine_Sounds either:

        put the start and end values in global variables - and refer to them in your Waveform gens Script Processor

        or:

        add two controls to your Waveform gens Script Process - called low and high, have your sample loading and range checking set these control values...then refer to these in your Script Processor

        HISE Development for hire.
        www.channelrobot.com

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

          @Tangerine_Sounds Colouring the keys and limiting the key range are two separate things, so use two separate scripts (midi processors).

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

          Tangerine_SoundsT 1 Reply Last reply Reply Quote 0
          • Tangerine_SoundsT
            Tangerine_Sounds @d.healey
            last edited by Tangerine_Sounds

            @d-healey @Lindon - Thanks I will give these suggestions a try

            ChazroxC 1 Reply Last reply Reply Quote 0
            • ChazroxC
              Chazrox @Tangerine_Sounds
              last edited by

              @Tangerine_Sounds

              a little funky maybe...

              HiseSnippet 2545.3oc6ZslbabbDdWRt1BPxN1N1k8ebpIrxO.ino2E7cnYD3C.QVhTjgfRJNUkRYvtC.lRK1YqcGHIFGVUpbNxgHmfT5.jejiPNB9Fjz8rulEDjhhQT1VkfKaiomo69a5om9w.dXjvkEGKhLLqd7IgLCyaY09j.Y+s5S4AF6tsg4WZ0RDMb.4qHa0W7DF4tQhggjiYwRdPOiMOIjFGy7LLMm7tHKlUlxP846uylTeZfKqfjgwCEbW1d7AbYA0CabOtueKpG6X9.sUuPiccEAaI7ECA3MoksQH08Izdr6SwkMgkwNz39Fl+Zq5065ths8JyO+h1T57dT5BNr4Wk0cottKZupsWmEsg+YICy2qoGWJhZKoRVrg4TaJ7NocewyBRTvC4w7N9LbfiQaPyIjaI78vsHR0Xq9beuCyrawFFlVGVXEmLwJ9oV6y834zKrlejZBRAG5FPyIJCuIKAOGc3YqAuw.ISMHMUBj9Xq1tQ7PYwLHdto0tARVTWJbNoCkj0ZLweuh0VBXEAx4FPeBqUDLHmiZKYaOKA9OyrV0pe8WSVe80I6ev1OXuljiZ1p4QMu+VMaiTqVsJbTFKIwzAg9rHx5DkW1b8Xx1IjpMc5WrmFjVxpeB6jVbeY40WxvBbo.ZgA0of8v.+CiX9BpGve1t.jvVhAgh.XPsoKVRAaOkFQbUt5muV0uJLNUixniL39rmKOWcmNeYlFF1GXnYPOd.aN2HF3H7fXVD.xXlbGZfGZpPyMOvGVBo6v.WIWDPDAoxCUVjvulalllEDr+P1LU+tpU3cI0RGUAFVIUQnA.4sPU05R8iYfhpToZkSqd5ZUeIah4hYYpdKpueG3pZsQwDh6wCbPoO8pBbjWtXX7EA9yG8H2W.50.lB8494sxvuTP.lQeUhqJVULoCEtEAarb28AzvPHZo5pvn6ef46wNIILWbMbyRfOfVNB2JD.M5xVMYWQDoFG7SrWivIeCwo9JvWt8smQMK9I07nK6Z7YIoZYtmwk82vOrOsVFkN9vVdVh8bKOCtOSgvN7d88g+Up1AvdBPRLgGPhXdWBj7c43AO9RMFywiuuPxt+vAcXQ6qDaM9LEPufoJux6B.V3dXdbOjKkp4e8z7ugeplP5zwdjNLzCt5QFM5h5nHhFziM1yxDtdD8oLvvL..8Q3RyOT8EtTex.d.LCXybpu7Z5zoOOgtc5Av0pwMiQTvIHZlBjwWaLq62lhvYJP5Hqqz.UHT7raCoLh2YnjUyY1LUs1Kao0mMSK21Qa0mldnUMCVoP9aVOCbiXaxSgTV7Sum3YDjwoGCjNOdvaC4LknsBlffDwBe1bgQbLxhOHePNSSt8Yk+HKsOJ1r0pKVkuYt2ID1pC3r4U3sg9GcDx9DpZb7E3RBBcadbnO8jMB7J6TNR7mDUedNxqocc43Hdudrnz0FSncwL0INhX7BRXVxW.VEIZQi5dv+GhGlGpMCs03woqBlMCf3w7ur7DYVxyeyAWgNUqpjcC3RNbGyECm9r9r.xC1kfhKwncAxgTspVpJ7x0AAJaWEvTPFcptcG6boYPT4tGyzXcuQWDi0BTWn0SHhKDpsqbAiVmeAi50y5ljLTagh.zBcPHK37px0HMCJTb4DonBVpTUZ4GlVZ4lCkRQfAGpfrhUZpeCEj06Av3xxNl6cLr+fc2lJoXQtoPBfYHKRxQKf41Pw.trjRdqXsMK9IRQHXnxy5Cs3HSqQOQss.+.rWli4fkBU9OyRmjiwy0U+I4CH+kFOi6I6mSH7u0nOCyVVr9usQJFS.TUKvGqifF4YzoWVmM2xZg5qrvxKs57qXavkrAYSbSqEVr9pqrvJy6nQudBGqtvpKsb8UWzPppupnIIkwYh+noEd6YZPeOBA4z+Fhi8b1yhzRcxOvUB2uSRU.SqpYRMODaDXCHspZ3N7jQP5J03sFFKECtaDMrO2MtDmay5RG5K2.x6Pivd+fYkQCSlbSrDCUnDv4FlvdtkVU8YkUrWdU6kcTq5XQud9r8EdrRRFq+F5hJHf4iPQQCJ36gLWv8WCK4ZClrkOU1Vdh+HR5vlYGBiRGtFEIKzR8L5MC7zz8RUOE8gycmlJwc5Cx5uhBqS4GcKqhndZNQ+IQiBmnW7GZnKq2+RbgpPRMFpIIicybGsLaACybEsL+EvHzKAZ+0RIgWAMptC9bTJ+yRN+WNssIbhCM3eldQgtfEdCgimxsFiOfP5DP3uR8ih8bFDykmn+.Cu15W9xBwO15Ptzs+3w3DiAiXzxqALl9JCefUytcga.E.bJqV+9qmmTPW823bdpnaodq.XDKx40wKCEdoeYHyIuNdXm26GcOry6tK811couLQ8ehUaYDiB8JzK8cvTXnpU1qhUx5bseeJMqUa9eVaYunwlCAaTTYp+iFJUsw.wvfR5JE4GwfhAjXB8hIuQiiNR83Yix02eGkSwwQPhC74k0l3f.FXqk56wshDwwcgsiRVw5Sc3vndnspfxQrmxhhKSCJ9IMwNV7roIVcYLCOe4t6SgF+JU5mRK1GSUmwSXkL1Yjw0GY77iLdgQFu3HiWZjwKWLNwfBc0idFVV6fGsiz.PkKWC.fLTkonsxM48xkeBE8fi4VZEZzBrl0hnljZyjXsywZjdSFacpK2sxKNz+OAhyV5M9qjgw1b7LrYvSg6u.EDiehUZY4YTqWBk6KBDg8EAb2x2VjIs2qi8wtg1PJwp7xo7oMNh4ynwZW2+UM1CpIfFUNHvqjsv4U926XrmWegUBbIX.Px+OmauQcytvbkSdoxU9ZGuW87luQMceXZFThp4tejeNeKqjeRILE8OTP8HwPL7cV5OKHGYant.WldlxIvruIiswwHfZyB7TC9uvmzIcxRqhS5jMogalnf8V52UOag4jr.LAipHGeHgsutKcLT8ABIHUntA8ySLn2zByEo5HQYK+LqrbSj6xfNRPK8E0Ux+90eUTIuvBTLSPbnHl4nI4WzlMfeLzCdrN0Q4nt9b4bTh51L4vfRhNkToUglhVfovQuFrLh00IB0ETRXv3RRZe8Zh9O2oo57pMC14dGD6BFFzNWtRL+Xl5MnbzYrfbccx6Pi7fyvR4ht3l6bdqo4NyItr+p8+bqy7ydOte8dy+kUxur7dG7nGeuleKY8zeLhrew4c18t6jMg5WdXsJu6wtK8X2WoWaVO5z6mL4mYo9SFPEdu7Y4WXM9+XBJcfVvr9Ei8DvQVNg+5dMTOUawaK96TQpTwvtVJ65cUI+tpjeWUxuMTkLlf64+z4j9ysfZMpSTG2je3OueSTx7aK5X.0MR7X2jT8XPoann.11.0eVmUr1GGSbN6u76.nFrG65VVTmgw5WUFm+px3BWUFW7px3RWUFW9px3JubFwRj2XnTLH4tHzpvgMS5pyrYdWcSZ7+.D9IJCB
              
              Tangerine_SoundsT 1 Reply Last reply Reply Quote 0
              • Tangerine_SoundsT
                Tangerine_Sounds @Chazrox
                last edited by

                @Chazrox Amazing! Thanks.

                The Choke Group Processor is a new one for me but it does the job!

                1 Reply Last reply Reply Quote 0
                • rglidesR
                  rglides @Tangerine_Sounds
                  last edited by

                  @Tangerine_Sounds

                  add this in your script processor onNoteOn

                  function onNoteOn()
                  {
                     local note = Message.getNoteNumber();
                      
                      if (note < LOW_KEY || note > HIGH_KEY)
                          Message.ignoreEvent(true);
                          }
                   
                  
                  Tangerine_SoundsT 1 Reply Last reply Reply Quote 2
                  • Tangerine_SoundsT
                    Tangerine_Sounds @rglides
                    last edited by

                    @rglides Thanks!

                    rglidesR 1 Reply Last reply Reply Quote 1
                    • rglidesR
                      rglides @Tangerine_Sounds
                      last edited by

                      @Tangerine_Sounds no problem!

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

                      21

                      Online

                      1.7k

                      Users

                      11.9k

                      Topics

                      103.3k

                      Posts