HISE Logo Forum
    • Categories
    • Register
    • Login

    How to control the parameters of each key individually?

    Scheduled Pinned Locked Moved General Questions
    10 Posts 3 Posters 674 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.
    • CatABCC
      CatABC
      last edited by

      I'm making an electronic drum plug-in and I want to give each key a volume control knob. How do I do that?fe47bd32-10ad-4255-8630-4fb3a53b3e36-image.png

      Please help me, I am a newbie, I will be very grateful

      //I am a new student at HISE._
      //Windows11 & MacOS Ventura 13.6.7_

      ulrikU 1 Reply Last reply Reply Quote 0
      • ulrikU
        ulrik @CatABC
        last edited by

        @BobCat

        Skärmavbild 2023-10-23 kl. 12.41.56.png

        Here's a snippet, you have to place 2 samples at key 60 and 62 (Snippets doesn't include audio files)

        HiseSnippet 1497.3oc4X80aaaCDWJNps1qqXsn.auL.hf8fCPWps6+FP1PbiSRmQqaMrSKVeYsLRzVDQhTfhJtdC8Cx1mh85dKeZ1y8av1QJoHJG2TWu9OroGB7cj2we2wi2OxzWvcIwwbgkc08mFQrrunyvoLoeGeLkY0cGkh6A+rOQbexTqsmFgiiIdV11UTpAyV0R+8ps1FGfYtjBUVVOgScIOfFRkEZ6299zff8vdj8ogFy9ls65xYc3A7D.MUbZXEgcODOl7PrZZq3XYetc8nRtXnDKIwV1qtM2a5Pe9DV57eBMldP.QIzzZH3nT06wC7THV8aqN9z.u94QcrkksS+hbPkzbvUc5Q8nmnuHW7E5APEVXlOrWoL7pTBdMecvaNPx1.RqlBoK6LzUPijEinvym4zkIIhQXHsaBkz4ZsxWtpSGNLClbiP7gj8DfvIVT+1MZbMD7m02rVsqe8pCHiHBBrChjbjzmfFhCiBHBDNN+m0fcnXI5HrHWSSzOfzELaLlHyzUes7AWKy0CIADWYLBGDfh0iEinLyEoVtIaDqm6PdByKt9Z4d3o7DDiP7TX6PFehx7I9TWeDW3AXT4pbOiEDTT.DgdnQBdHJIRYkGrQfpOUMN5.pDEKEX1Xx5Ju+iPfi5h7wGQPbVvTTqBmw7fQzKYWzDLSp7EjFjBdfxTyE9HdPRHAgknCISgLKZBU5iTmSZhpOAp5QGP.f6QdAp45ZOWXMXkxcZCaM6rardgqZoyGcfT4Av4CsJTypeawWMJKfxHnQILWIkyfHRCgNofttKOLhyfZhqAajAIPF3WqU0H8ml6gBsHhPNsdyqcxd8FOQGf41sYsWBaN4EXv9embOWeM8Jt15J2kst4HtdY3n1eOU.0xLdNynp0RFUMV5np0YEUsLipZFX8gbI4Qr5ZTU6k0PyNznQycrL2oNTMugUcPEmkg0YIgGPDl4D0Dg1Jk6UctEqWkaZVwXhbVWFU9nHRlbQy1lyoylUVZE5wsRFBgoJ0c3tTVGtgAT3.sEEbx40TOMszfufo36O1ZgMtUIie9n+Zyisdb2cvRrpOaFbxpJnpLg8Nji.RqzttUc1gDenjGowaVY.PI9FQ7KLYAmZJLg5I8KT7ys8Izw9F7icaGx8xVaW5Aj.qPSd1mdbHtj2ikjngzeQGh+9uo99yshSFMhByxwA4sMXumW.oOOlpJNTyyVaYKUdbgCpVFAU6m29S3f5zrm.uM2KI.KKSlqBqrAT9vjAUwRx.eO07FNyxvu5q+TSi4dAj4dlXAg6kc5Skt9yGuqLG7pNj8dFuY2W5yc1czHfzt.rq5r2OclWN5cNT95TnbEmgRAACUWiy5uqwSMm7t8uKtBazBeE19BR.G6kWJmNsiauMTJSDk09Gs0K0cCAdpRqUFxGPhHXYuziQYCdg1CFbOAOIZVqd0V5hk8E.0DjJLG3QLBj2klwXGAONdDDNZeEaNT+DwXUtpPy.xQDQbYcOLID16YLR.Xris5j3iiIp8ZpaOrTPKc3VuJM1Gq2ug60qkaNibqYjuwLx2bF4aMi7smQ9NExoIzd3HUkQUGndTFhiNEm34WLNQvO8wPjaLysoiOYMR0TtSiwTOI0qgmwiYlyyBN26qWp7AsO1+91tUVL39FdXU0bLNjp1p1kcDbTEznv3U.ZpQ3j.Yt1xsM5wY7HeNi5V9fATnOdLQXh84FP2UJgykEZtZ6AvidvwFmr+l1O.tsKVT979aUt3s+Qlyc+5qbRgKR0qC8eC5xJ+umt7rRcWJirDAqtP9I997Eczs2QJ13OVPc.OQBrr4LcN.cH7ZSgKwjTbEEQapbCkrBPCILOsveCeYC1LmAUMXy7AsbycEDaY+V+JF6JDlh5PeKv.faNnz8nytyLv58AAkgXWA+YY+6QTX8BZM.JY5+KdUc5ojQm5McVpKzSelqaYWcJCasrFdik0vatrFdqk0vaurFdmk0vu6Man55D2MQxCSalZY0q+toEf16dRAXEq+A5fMQ5
        

        Hise Develop branch
        MacOs 15.3.1, Xcode 16.2
        http://musikboden.se

        ulrikU CatABCC 3 Replies Last reply Reply Quote 0
        • ulrikU
          ulrik @ulrik
          last edited by

          @ulrik I think you can do it simpler by using a Simple Gain module and add an ArrayModulator module in the GainModulation chain, I have never done it though, maybe there's someone around that can explain how to do it?

          Skärmavbild 2023-10-23 kl. 20.41.45.png

          Hise Develop branch
          MacOs 15.3.1, Xcode 16.2
          http://musikboden.se

          ulrikU 1 Reply Last reply Reply Quote 1
          • CatABCC
            CatABC @ulrik
            last edited by

            @ulrik I succeeded, thank you very much, give you :red_heart:

            //I am a new student at HISE._
            //Windows11 & MacOS Ventura 13.6.7_

            1 Reply Last reply Reply Quote 1
            • CatABCC
              CatABC @ulrik
              last edited by

              @ulrik I found a new problem. When I switch the Samplemap, the control of the knob will fail. I need to manually click Compile to make it work properly.I tried some things but no success

              //I am a new student at HISE._
              //Windows11 & MacOS Ventura 13.6.7_

              ulrikU 1 Reply Last reply Reply Quote 0
              • ulrikU
                ulrik @CatABC
                last edited by ulrik

                @BobCat if you're using my first example, you could try to select the sounds again when changing the sample map.

                something like this:
                call the function when changing the sample map, I think it needs to be executed before after changing map

                inline function updateSelectedSounds()
                {
                	//	Selects all samples in the Sampler
                	Sampler1.selectSounds("");
                }
                

                If you're using the other method, give me a snippet and I'll take look

                Hise Develop branch
                MacOs 15.3.1, Xcode 16.2
                http://musikboden.se

                CatABCC 1 Reply Last reply Reply Quote 0
                • CatABCC
                  CatABC @ulrik
                  last edited by

                  @ulrik I succeeded,I put Sampler1.selectSounds(""); into oncmbSampleMapControl and it works fine

                   inline function onknbVolC1Control(component, value)
                   {
                  	
                  
                   	Sampler1.setSoundProperty(0, Sampler1.Volume, value);
                   	
                   };
                   
                   Content.getComponent("knbVolC1").setControlCallback(onknbVolC1Control);
                   
                   
                  
                   
                  
                   //change samplemap   -------------
                   const var sampleMaps = Sampler.getSampleMapList();
                   const var fltPreset = Content.getComponent("fltPreset");
                   const var cmbSampleMap = Content.getComponent("cmbSampleMap");
                  
                   cmbSampleMap.set("items", sampleMaps.join("\n"));
                   
                   
                   
                   inline function oncmbSampleMapControl(component, value)
                   {
                   	GFRNB.asSampler().loadSampleMap(sampleMaps[value-1]);
                   	//updateSelectedSounds  ----------
                   	Sampler1.selectSounds("");
                   };
                   
                   Content.getComponent("cmbSampleMap").setControlCallback(oncmbSampleMapControl);
                   
                  

                  //I am a new student at HISE._
                  //Windows11 & MacOS Ventura 13.6.7_

                  1 Reply Last reply Reply Quote 1
                  • ulrikU
                    ulrik @ulrik
                    last edited by

                    @ulrik said in How to control the parameters of each key individually?:

                    @ulrik I think you can do it simpler by using a Simple Gain module and add an ArrayModulator module in the GainModulation chain, I have never done it though, maybe there's someone around that can explain how to do it?

                    Skärmavbild 2023-10-23 kl. 20.41.45.png

                    Ok I found out how to do it using the Array Modulator

                    HiseSnippet 1427.3oc6Y80aSbDDeOaeTrokBTTUe7DhGLRzPr4uUnRbvIA4VBwJ1.suTzxcqiWk810cu0I3VgTU+7zOD7Qnu02pPpOWI9FzN6d246N6KINlDDfx8Pj2Y1c1eyryL6LaZKEtjf.gDYUt6nADj0mZ2YDW0uYeLkiZsBx5KsaJ3Jof8DAanOoMQ9Hghft+nA3f.hGxxp3Czy0pbIj46MKceLCycIIjPnmHntjGR8opDpsa78TFaMrGoK0O0ruQiVtBdSASLDvUQ6EQCvtai2h7HrdZErQVmZUOpRH6nvJR.xpz8Edi5zWrKOb9OgFPeNinGTC0ADTH40DLOMh0+F0rOk40NV+CPHK61IVihgViKZuN0iNldhU4bFFNIqHs8vpPV3ULC7psWvKGHYkBRkBgz4s63JoCTIbz34L1s3JhrG1M6QS3bQE92hliQBWsfOdaxZRXv3UT8VKt3Ucf+bk6Vox0tVYIoGQRfSPGkvQ0m3rrThG4rtvaHCC5UE33IP4rCVFxAXrbPGF0izFNnb9VGiKzBaQTFhRM0wvs5klPZ0tzdssgfOQFo12IYUC10XED12lB+ABNLn5klZlwaGLcNwUk6N4rKU0eeT8NOrMrg4n7YU5pZK5T.XAih1UrBVgqBRRiGMfBmRfiKlwdNLwxe8d+UgxYTNwo2PtqhJ3NBd58oVTLaU2XCwUAyFaH4JU90JkmFQAwndYvqvi7BviHdA2sxKA7cv1VvtpESzF2LRGplOtLp79qB0eqUg5GVUn9rnB0STgTHWmSbCdUC1p7xJNSxpWub4EIKFQlKacdQ49svp7g9OmHSaYzSDRVjMCzolsLPtglnTSTvawopMFPhFmjBsVN4qPQ1XHyUwHDBPQYxacA6IOyPTPPewTjqgLJCjO15dfH8fnDTg+nf8MW7NKbx2a22S236t82X9UutW+l6twIVjiiuv3.iyewPm+ylwK233+4YHM1o2TDzq+kK92Kc3ER8LBoQk+5eVB83V5qYzkRDEaBwqCHREUmVvZExNPcYgEVT1dERv1Jw.SvaTBRj0mbnCeeQRobWtwnjA2qwtTOU+wDb98F8Izs5qzg5d.gfv729hg7jxDe0yZflFNyfAMEL5lBF+11S.CzOMFFwTZ0vm54wHsEATcB2DNudo4AL0SAlWwNJAyz0GBUlFWrR5xU00nGwPKiz0HpqCjCxdT5Z3mrF1R68MHKlaI14d+vLB2ya2lpb6mOdKjCdA+6ia7F0QvmYuZudPYiIfsj8Z+v9V9+QNTNaHTNicGn9ISs1QcpoG67T7NDmGP3Doo558oSs+bV6TavL2o1FtJX66Jw7fAhfLBtCwm1EBbBRS7wAPuHjedS8obZ5MEXYtrdyRqAJYtqoCVMTZbWlHEh18n3LeljtfnrQMoleN8pU53p8w2ogdu8YJJNav8.51sbLF6P8GvHqx2gvfKtLX7BvMU8vCYpXpYcxWWvEC5K3T2zd.aRTR5VaQjowdtJzxJk95swTtXiMILBNs27ka7PvKDKA6DYNsEG9N+y875qrCgqiNxz4iiL7E+HJC+g38mReje5wuFmw8+AwP4rQDbzT1ub6HzJDFNiA7oYqz3GajS1+VPDkT0VvvxIM+EOpbsKMy9HZU53xmdNOXriAb7i+Dh5n7RS9zVGLhSJbdkSZz8jFc+.qQ2ir66l06MzW8yRBwd++htKXaR69gCfOmcaL+8.3toXnhx2ZcLT1Fz8r8iF52AZyvk.PkyIr.8qFTP2pP33E0iC6yf6YF7evWDyZ5wVQLqEy7il8vG6JEOyM78hz2XcZCEv1xM+KyJautdrS1WYx74C8g7LW2rhZpEVedW30m2Edi4cg2bdW3sl2Ed64cg24fWntMwkGpD9gwhHz5sW0Tnfk0pbLDUYBKQ+O74k5lB
                    

                    Hise Develop branch
                    MacOs 15.3.1, Xcode 16.2
                    http://musikboden.se

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

                      @ulrik - interesting - there's an occasional little "blip" note being played when the values are changed (not everytime ) - not sure why....but otherwise - cool.

                      HISE Development for hire.
                      www.channelrobot.com

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

                        @Lindon Yes, I know, this way of controlling volume per key is not working so well if you have samples with a long release because the other pressed key will adjust the volume on the first pressed ringing sample, it doesn't seem to be polyphonic

                        Hise Develop branch
                        MacOs 15.3.1, Xcode 16.2
                        http://musikboden.se

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

                        49

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.1k

                        Posts