HISE Logo Forum
    • Categories
    • Register
    • Login

    Global velocity modulator issue

    Scheduled Pinned Locked Moved Scripting
    24 Posts 4 Posters 1.3k 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
      last edited by

      In this snippet the global velocity modulator assigned to the sine wave generator's gain parameter only responds when playing MIDI note 60 on the keyboard. If I change the note in the Synth.playNote command then the modulator will only respond to the new note. This makes it impossible to use a note offset and a velocity modulator.

      For example, in my project I have different articulations mapped across the note range, this is purely for organisational purposes. So MIDI note 0 might have a middle C sample mapped to it for one articulation, while MIDI note 40 has a middle C from another articulation. I use Synth.playNote with the appropriate offset for the articulation that should trigger. This means the user might play middle C on their keyboard but the sample mapped to MIDI note 0 will play. I need to also be able to get the velocity value from the user's key press, currently I don't see a way to do that with modulators (or hopefully I'm missing something).

      HiseSnippet 1129.3oc6X8zaaTDEeVaOPsaSUKTPHPH1CbHQpD4szVPzCMI9OQVTmXEGBbqZx5msGkwyrL6rFrPHwE9rvE9vvE9Rvo9M.lY10dWWu3ltJEhZiO448l2t+d+42ady1SJ7gvPgD4T83YA.x4F39y3pwMFSnbTmlHmah6RBUfzMVzdyBHggv.jiS48MBbpVAY+8rGuGgQ39PpHD5DA0GdBcBUkJs2NeMkwZSF.GSmjY22emN9BdCASDowSYbcT.w+LxH3.hYakvHm2p0.pRH6qHJHD4TYOwfY8GK9Ad79OgFROkAlEdn95GTr31B1.ChM+G0XLkMn2b+NDoen8RiBkiiB2A2kNftPdZz3VVEtoVjMd3TZcvyKK7pmK77xAdnLnqRL5zfPLHhQTKiLS5HQAUrblpCWA7PpZV1z0+qv813dTk+37waobvqNQ8pFuII+MvsFND7UofsBt828eal9ZwP4Cw6yDmRXoAPAWoQEHs35iST6tPu6hM3sFp5ebdopAmappS4kiHk+2iHYol4PGq7ZAc7cWI0DdgxHeI5u4jAxucLjqgOAXBeyq2.12awxT358hg62DBGSr3IsJpCeJHUFiRk0D7omBlhXXc74BWxbgzyo7al8bNRDon7QcIJI8GQN3ChlzWSp8AMR3bfoeQXmRHio100MqMQl9.efcweq+knzyr1IQo2bk4zWakoLtA9E23x8W+8e6UeiqKlYJvWMSwUyTbIalhaFCkqi6qoYV9mEHuucs62RlBt6CZB3pc+yPB+kc79yKdR3g9J8q+XIgGFHBW5A2GlPOVvMQjTg5SdZKgu+HSVNq7FBhLWUO6ws0NYt1zmnhj1xkcmHh3pkJOJWnCjWl0jY+WRF2ofCOjv8tMtuujFnR0DOvSrzTzcukfWrVjyegcGFw8MAFWA+.gBNju4V09oMp4p+0Uao9FeaSGwERn0Tfq1TIifsdzF0pZqY2NfQlYLayGV+ttOn9VOp1OWakG4vgwOyps3izI9sILlQdnUwyag4nGofw.ownZUeN0lh270jX3l7nImBx65NkvzPc9F0ArkyHW+7kQzbCcmJUlMJ3c3T0gAPxYRyiayk3gV31Y2TpekUp0cxYaohVeIApQL9LzvNMIJhoJIQldeA5w+nFu0oILU2SHtloJtIDdlRDb43rmWBBPodq7MRtkti4j.FzROqKS6vV79NZObHIholKc4x+tBtHXrfS8y1e4HPO10nQfLqejqysqRQ7OKUxc14HfAjr8J+zcdhtTmHWdN6UiKE+pYNmyb2GfigqqoVy8R07CICf9QIWOydrk9kIUKbCqG7Iyu9lcCt1cTv6FYl7X9chzc3MBsrFyGzRSa3fsaBxwacWl+qx6BZWcAp2Pt.0qKuiIDeo3o9wm2XZnbMqDcrka+DuUwcMqc8P1SR01gqucczD8POO022jR+LcNHeatWAr4yKfM2u.17fBXyCKfMeQAr4KWqMl4M2MRIlDS20B50Jt6kSKtoUlkYg9GpBfeoC
      

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

      ulrikU 1 Reply Last reply Reply Quote 0
      • ulrikU
        ulrik @d.healey
        last edited by

        @d-healey could this be of any help? 🤔

        HiseSnippet 1261.3oc6X0saaTDEdV6rPsospEJHDHDqp3BakfkcHME0PUyeNQVsNwJNDPxJpZx5w1ix3YV1crAqpJwM7rvM7vvM7dz2.3Lyrq20IqbMVIoUsYUTjmyO67cNm47yrM7Etjf.gOxJ2gi7HHqaZ2bDW1aqdXJGUaaj0ssqiCjDeGCoMG4gCBHsQVVY2UQvJ2BH8yqdxlXFl6RhIgPGIntjmQ6SkwTar9SoL1N31jCo8SH8JqWyUv2RvDC.7j0tLxC6dJtKYOrRrL1HqOnZapT32Thkj.j0BaJZOpYOwuxMxeDMfdBinVTA0DdQFx6HXsUHVQEsUOJqciH6N.AuzFwdgrFuv8rqSaSGSO1abGMCmXMR5OrxLM3UII7JOyvCk.cKXPG.BQ6ALrbRjoBGgLnhIiT03RBOfJGkLb8FEt20tAU51Kc7lIE7BApKa7FF7ukc0NcHtxXvtf8N+7Uaj9FFn7E16xDmfYwNPAWBnh3qw0WEx1YLemwBTYJop+8rlp5MyopVYmYOR5olkSK0bg2IRM+jyElB9+mclc1bno3DsR.yOz.y71GQXBW0Vp.3mNdYLDq75g3OFPNDqwP7onZ7gDeoRoXZaSbomPTGhISKedtsvKjZNYe+rlyAhARJuacrzm9aHK68FzuIjT6R.jv4DFrQ1VYPJU0qKqVq7LMI715E+K7DxrhZsUHyJQLSot14lx3l1u9BWN+we8mW0EtJOmEtrudlhqmo3srYJtsAJejcSHMSm+oAxmoW67S3gDmcIPB34q9mHI72Wux+bwmDtuqD19C8w7.OQvDu3lj9zCEbkGIlHz4YGexubfJJmj9VBreprd0S1ALxT0oIVNvWebYi9hAb4DGOtTJNboMUyEyLBgoX20toqO0SFywLKigZLhVdBHY3hxfxXOD66zG64QZ+Txn.mG6zp0pkWx4Aqb7RsVc4kVs7wK4zZ0UV5gKe7wq4zY.2UEDbD78DRx97BEy+hak2AdpC6CbMvRztbgOo5PBWVP5OfTbMCe0FMDd+Qx0kHilmoPjLl+2Q3Wf93xq4P+gXjUhQ3ck8.hKtXQibgar5g1oPrnsnGWx0znJnPhsSgXny4ID+BEKVLV4DuG0iNoqjGCORovju2VU.2wvhqMVgWp+0KMfOG7GzgLPvHk77ofC39Cez8WTIOH2Y8cc5Xbd4px6BG6KgYLE8.MiypgpwqufwTXO+Kxm6LrUotoyITwBbsgCfGyfXRjfv4nIOble1NbpbuP.NgfBdMNUtuGILoK5.RDkJnwlcRghsqjT0lSJhESJkhnaYvjpvSsswRrJgIjFHmGLvKUYgVaSFBUAMoO4r2lDbpT3cE1sM6r0xHk7+LMN2WB5NPeg9dLRUXhdFXjZL9wfU0AOfIinNY1ecAW30SvotIqhd.AFtraWheRrmpAsgThcOMlx8V+.BifS1Q3aV+YvQZr+j2l3x59RSKd841F35nNS47V0TRgiY+kgW7T2bF1Le4XyPaAeczES0B3nkXNuAnZ9pna9AM0TD0YJpOaGjpvI5pFHqJS6SV7nztF50WS78jqI9txdzG65KdtqouhpfxMzT.eKW+gryYWWs1oBR2wDzytboxn9vbdO20UER+VHFjtNKOG57cygNqLG57f4PmUmCcd3bny2OUcTiXuw.onuIcGHznpo5kUUtpTlNyB8e4PWuxA
        

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

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

          @ulrik Ahh, I read your post again and now I understand what your asking for, sorry I can't help.

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

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

            @ulrik Thanks for trying though :)

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

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

              @Christoph-Hart Any suggestions for making controlling gain via velocity in a situation like this where notes are remapped?

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

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

                The problem is that you are creating a note after the global modulator has been processed, so it can't connect the velocity to the new artificial note and the rest is undefined behaviour (it basically stores the velocity value for the event ID that you're about to ignore in the script processor later on).

                Just don't ignore the event and spawn off a new one, but use Message.setTransposeAmount() to change it to the notenumber you want to play. Btw, it's highly recommended over Message.setNoteNumber() because you don't need to bother about the note off at all - otherwise you'll get stuck notes pretty easily.

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

                  @Christoph-Hart I don't think I can use this solution unfortunately. In the example I posted above it will work but in my real project I have to create notes because I'm generating guitar chords from single key presses and other such things.

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

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

                    Yeah, but it's kind of logical that you can't use a global modulator for locally generated notes, isn't it?

                    So you want to control multiple sound generator's velocity response with one table, yes?

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

                      So this looks like a workaround, but it's actually quite OK:

                      HiseSnippet 1475.3oc6X0saaTDEdVmrkZWREEUg3xQUUhMzhqcn+jRUUShicIpMMgX2.2UMY2YsGxtyrc1YcwBws7fvy.uA7BvKA222.3Lytd20jEWiQspTvMJ0yYNmY9N+elbnT3RiiERjU8AShnHq22t+DtZTmQDFGs2tHqKZuOIVQk3TR6LIhDGS8PVVq7PMAq5qhLed4C1gDP3tzBRHzwBlK8wrPlpf5ga8HVPPOhGc.KrD22bq8bE7Nh.QBfmUraghHtmRFReBQyVMaj0455wTBYeEQQiQVqtivaR+QhWvS4+XVL6j.pdQaTe3fRI2SD3oQr96nNiXAdGNUuiQHK6CKrBqjZEtr89LOVN8BqwGX1.WHQY6gUs4Au1KI7pUBdqlBuKY22UxhTE6nw1Er2iCNJeB3BJCqTdQV+hMti.3fqZFRNk1SBKxkv4VsZccL7q0u2ZM7S3tJlfiE7mHTzC3Nq236aTuwOz.+m2x2ux8zWjTDDPkUts1wKmmfN7jvSnxqiGSBRn4LBVfYMwWXwLwto5cIFE783L0AQz70oZ5TJsP4JXYRE5UYpF0oB1JHU3iaWgOFk4W.usUlnflpL950x70CHZ8hAmw4sMeuMxXaJms4QTDjUW6atYyY+L9fq8769n61r6wta1oYSe0AW6ov+72bvWcKX83wG.L4eMMq2sigeD5o6sq93xfDfN.wQTohos6V6RGCY1ogi0s2kFepRDY3MLRv05h068JUfuCR9rtC.7I5uzC9xKXdpQ5E+nEBMhxFNRoW8avVQSMX64oy.LGwFcGCWkoNDpTZh87RSNqnkSVdRRnY6X80psoYYO0RpUj9DSUeoAaNajlvrVC7ZMffrXEDvJwopG994BLjpxMLNWIc6qjJ3MtA9owTLIUHsIGKN4aotJLCxGjdPkWk.6lFUfUiXwXklSruTDhIbgZDvRrAkXGXANDzIP3rD60KCLk47ueW9PFm1zURgrns4dGQGxz03ygfiQqRwYSI0G1RXnaNf+xRDfY.9.ZDnuXMTRQpINE6KjFZCYfgGOlFHbYpIMpC+OI.OFrVY2GHr4aGqEyYevyA8.zTONSFm00HnN7CbU8gpAzzCVq2fJCDzpuvPjp8x.mSOFv0o84NYl.3T2k5xNgFD2SH06zyb.NiM2w6rE7ZclBds++Bd+SK3ctEof2Tve0slTdQdgucqUtv2OaFX5LC..igH7RBHpYmMQG+lsADbMScMciddLj7Tdfs+FCrzpxAVpz2tfv8R1GxTtipFu0p.u5YgdMi2rw+VytquOTBt.rqZ26aV1Y8VNnbwTnbA69PcJyL4Ff7Ql03ulLlheHkSkZiZ64LV9utnikGsvikefqBt9ARBONRDSKGQ0mFxF.oCwkuMn+VOI84Go8xko2QPjUt0KePOPIqTl9DUhzDtrcnHgqlI7XkkZ96YyZJweECiu5a2uUvZQeqvksyG+YiosUq5QC09IKa7760O.dKwY5+R3dXIz6E7uXpoUKUVLQvmDm2+G3BBh3wzzyqXX.bQG5h1xPO5osqKOXfoitogs9Ll4jldMvAFoi1f5JNiweJt8F2oYqYk.zkcDhvqiiUItmhgIqn3u.FeptI6qYT.YhV8ctM7Poom6526svYDZ7ujYDl2bAKU232bcJWYwJ2+JRQqOEi8YgQAztbcXEPQiwODzJeRRfZJ0YKxuufKhFI3L2xU.OhpjrgCoxxXuREZakh3dZAkKu0Qz.Job07qt0igDPhDrSzkzVzdwsEyye8w1ovEqiovuaLgyJ+2bBmiDIJFe39DHPU+7e3818gAKbo.R3bnttdp2Z5JAoqak+NbJ2yr32gOYa1Vu1Jay1S27MxcDRbkhmk8rbcr74MT.8la9qUV2de8Zb9iVrsa0rEJDlH3YttZy8mA1mpkYikPlOeIj4lKgL2ZIj41KgL2YIjYy4JidXrsSThvzTQfvgcMsXrr5x0SkXh5Q+Ab3GWwH
                      

                      So basically what happens is that I am using the event's gain property to communicate the velocity response of a script processor's table down the line (check how I used the Engine.createAndRegisterTableData() call in order to make a scripted table accesible to the main interface so you can still defer it). Then in each target sound generator, I am fetching the gain value and calculate the respective velocity for it. As long as you never use the original events (which you don't if I understand this use case, you should be fine).

                      d.healeyD 1 Reply Last reply Reply Quote 1
                      • d.healeyD
                        d.healey @Christoph Hart
                        last edited by

                        @Christoph-Hart Thanks, I'll check out your example

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

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

                          Your example works, but I have another caveat :p

                          The way I'm mapping my samples is like this

                          f5b9317c-21d0-4ecf-8e50-293da184442f-image.png

                          I'm separating the guitar strings, rrs, and up/downs using velocity, and separating the dynamics across the playable range. So when I play my artificial notes I need to be able to control the note number and velocity regardless of what the user actually played. But I still need the real velocity to be passed to the gain mod. I thought the global modulator would take the real velocity, since it's before the scripts, and that's what I'd get at the gain target.

                          I know I could use another mapping system, like one group per string but that's going to end up with a lot of groups when I have lots of articulations and rrs.

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

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

                            I've solved half the problem with my recent velocity range of 1 modification. So now each sample is mapped to the correct MIDI note, as shown in the below image. But I still need control over the velocity because I have each velocity layer separated.

                            71fb9f29-b98c-4323-845e-9c35c58027a1-image.png

                            I'm not finding any way I can get the velocity gain modulator to respond to the incoming MIDI velocity if I set the artificial note's velocity.

                            This snippet is a simple strum script. When you press a key a timer will play through each note in an array, each at a fixed velocity of 60. If I enable to velocity modulator in the gain section I just get silence. I need it to be fixed at the velocity of the note that triggered the on note callback, how can I achieve this?

                            HiseSnippet 1257.3oc6XstaaTDEdW6rPsgT0BEDBDh4G7CGkfkWHzhHpjqNQVDmXEGBHUgplrdr8nNdlkYGGvBwSDOBHdG3QouAv4L6tdWmrIM0psDQYUTTlykY9NWmyjNZU.KJRocbqb7jPli6a60chzLb6gTtzo0NNt21qMMxvzjXRaMIjFEw5435VdOjfakEbbbH+9e7mquEUPkArDR1uST7.197QbSF0Na7sbgXWZO1w7Q4jd0MZEnjaqDpw.dJ60vIjF7D5.1ATTrRdNtuQydbiR20PMrHG2E1R0aR2gpeVFK+I7H9oBFtv2oKrQwj2UI5gHF+amsGxE85jZ2QNvl1IyKTN1KbOu17d7ozy7F2wxfjoQd+gaoqBd94gWiBgmeAvyIG5VHFc.HT8FKnlYQFFNRXvUyFoZIMLYD2LIya+z0+WEt20qC2DLrX7Vp.7BApW13MI3unWy98YAlLvtf2t+vq1H8shgxG5smPcJUj4.URCfJl1hqONgMYJexTA7urRU36uttkpgW6RU2xy5QJe4dj7klETNtv+IJGe2KDZhdgVQ9bzeyMGjeyXHW06DlPEfGOB12a5xL35+rg62EwNlZwSVVTK4YLsAUJi1Nr.9oLLIlcU0yycJyKjdNke8rmyQpwFtbPapQy+EGWuCFOpKTTGv.jHkLAbPdtkbPUsqafqQOSWlrmcweCeIL8w0tIL8SYl2bucr49VdcgdT1IMrF66aWS9d5YLxdLn60Ey.eo2A6v.Cb7GqoxnPUzLabW1H9wJI50yHBY+6pY+zQXlTd5aqn5BY8z02ELxB0oK0LVaSI2bjZrzLSJX44povrSCjS9aHsbmyFXI0220qaflGZx3D2zMlZF5lMGJlqSoCJ4AA+HC4Lplv6EQdHoob.DbpGnY.xQKbedjo1RqsX0LICFpz8r4AfBOpwJjUWg7feDDQyFPzJk4.kgkrL.CiL8Z8GKCv..QIQtGJqsT0ecwpUZCvCFssNefToYMOiIM0L5wL7Dq.+XqMpGYTgXdq1hjJIaJb5MvkoGIrNc6FvrTfp3SSUJcmnZS7V0nt+RqU82pRNO152GAW0JI9BpPfjirzOuB3bFZkPfmBpy4Xm.ZzTIvGb4BbUnD.ZJlWNyY9nDyB8jwhCgj5QLyITwXVM4JjXSHTPmfphTteikPiCEN92I6wxKOCUdeRsTm127vbAv5BlbfY3RUqfhcQmcwVaMo0utBjM.HapcCYkyl1W85k1CYVvUNlbBpjsjbyggrjGzjlzjRw2YZnJuPYAi7Ts1RAhkQpf6C1NFSX+sV6PMTr7KgFHWHb2NGsP2cXmAMaiKFq3sCK5If26lwiUdN5rTpyEd.7cfqhFEJXMgAYDfAaw66.VXe5XgIk5r8UZqjpvgJIOHei6iXvcpCFvz4siBMtMMF3ktYTt2FGwDLZ9Kg9zM1GpIo5YGh5h9k4eta2qYr6C7hgKAyuH2ndvYxql9njYusyCzEa7M0LrVvmjNatU.hUhKYv2ROiAeQARG3Et5DIZqZv+aEPYijY6f335eUuT6qKZ56+e53WSlN9UwYLhFnUONHt+OVreKKEvtk1+2ZU7ZiqI9N1a1.87ZTugyHXNnGGDft6OC7OEqymOG57EygNqNG57kygN2eNz4AygNe0UpCNB5liMpQwkh.gNMi6r31ThsYrY8N+ijHKtk
                            

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

                            ustkU 1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @d.healey
                              last edited by ustk

                              @d-healey I just tried moving your script in the interface proc and it seems to work so you might want to check that. 🤔

                              Can't help pressing F5 in the forum...

                              d.healeyD 2 Replies Last reply Reply Quote 1
                              • d.healeyD
                                d.healey @ustk
                                last edited by

                                @ustk hmm I will investigate

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

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

                                  @ustk It doesn't seem to work for me, the only difference is the velocity mod is now fixed at 60. What result do you get?

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

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

                                    Ok I just tested this in Kontakt and the behaviour is the same - how did I not know this!

                                    The standard solution would be to use the change volume function on each note based on the real velocity. But I'm wondering if I can find a solution using a scripted voice start modulator.

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

                                    ustkU 2 Replies Last reply Reply Quote 0
                                    • ustkU
                                      ustk @d.healey
                                      last edited by

                                      @d-healey Like this, the velocity is the one you set in the script.
                                      What if you do that:

                                      HiseSnippet 1339.3oc6XstaaTDEdW6rPsKA0RKHDHDyO3GNJAq0PZKhnRtZGEQtXEmFPpppZx5w1ix5YVlcrAKDuI7Fvi.h2Aj3EouAv4L6tdW2rw03lfZUY+QTlybN698clyswMUROVXnTYYW5jQALK62wo0Hgt218nbg0d6XYunSnVMnOwqmT01ZqQAzvPVaKa6h6hpXWZAKKKxu86+w5aQ8oBOVrHyyoRtGaedetNUZyM9VtueCZa1I79Yzd0M1ySJ1V5KG.voniqU.06bZW1gTTsBNV1uU81bsT0RS0rPK6E1R1dTqdxeTDo+o7P9Y9LbQMqVvKJRbCoeaDwnTqs6w8a2Lg1gVvKsYpSnXjS3tNGvayGKO0YbKyFjTKx5OrKLM3UKK7bmc3YmAdKDAua6zxSwCzo6fX6lN6IzLUGJbDjEVQ5ZU3uJ3rsDzPnq1mdNqgBVL1hJ220cEx8bcWZsEKuXY3fHTSFRUDd6PxCI0Ec4BVUOECnF5B1mGpqf5lpoI.4DofgF7X3ss5JjG7DPEEqKQIk5CkZV7xgLeoGWOJdomb.Bj05LP3o4RAQJPkORTYox+b4RKVtzA.OgPgp7tBohUeHvhJPXICgv3MQZsoRy6v83TeC7PaMAzUC0x.LfSEIO9SR.r5hqS.HrN400kYjb3f9mkXUBtmTqSikFoSxmipzQeO2p0VZsx+RYxySuNch3W4Rw9WpuOtQnYmm2D7vSI88QrXrZxsi4Vj+h.O.ln9DA.0Dtsb5Qzii4+SLG2n5vAc0PfKT+ArJhUHQzHvmNBMEkjP9kPZhlD8232zxKOgTdGRkDe727vLAGU8Yht5dKUtDp1EOaxm0UDlSA.DH9FyeHkXxbNmKOmKaIAunDgLJJE6I35iBXhKKSzJN6A9uGs2NTMESNikA5EvfHODB16vFBU8hRUK4rCK7bfdPcuKjGCUSjsG3S0SVhAqqFuA3ClHWFyWEgvYPZYyms90RcmYEt21oIW60Ke7VHG7Bdsqa7FWEeQm5c5v7zofcAmFe+0eI6rP4FQP4ib10WdF0O0ABwM.pXQkt+j3sIi2mLVgZWVOW34Om0dtAybOW6hyrGI+drt40DagWo6wNqw524BGSg+6yNKNaH9ELIvaGAyxNI8dL.78GuLEh0dwP7QgrSnFLjFEsmXHTPCMJU1NLO9YLLHlMs74hyVHy0TMmhuYVy4X4.MWz8.pVw+InOHL0RKHo1iAHQHX9XuQ6BXWrn0t3ZzyzhIZaV72vS7l0v01waVKYyrz8cin6McZA0nLMwMj8CLqIeGcHirKCpdcwHvq8JXG4ogO+IJpHLPFNwKtEqO2LDRVgPzeCE6GNFijxJeaIUk6VOa8F.Iy0lVT8.kIjby93vOSDB95Uk0ql5TS8FK2IVZJhpk2MWr+UGxkbyfoNU87N97K2Dnkupl.MgoIRbsFSvrhR4UVoF5jiZohdMd.24tAicglW3G73VPIq9A9r5B79MfDDiuGvpNzA95DoSFXdfTHC5IEburI3GyfZuc6xTYwdtDZSsl5cdpj6twwLeFMawpOai8ghLT0jMauJ8E1y340G5DAWBFSQdk5hIwSW+wwykY5azBu38XZXXvmlL2lQAhQi4b.I7JMICFA0aQglLE7mmBRUDLSUCK6ZSah9uNuoz9+ondCYJp+K9F8odJ4S8hp4iI62vHA3sv7ioVx4.bMolkoaFXmiaUWq9v3AO0yCc2eN3ex2luXNr4KmCaVcNr4dygM2eNr4AygMe0TsAmLayAZY+nTQPPy5QUVrqKvxLlndq+A32ldOA
                                      

                                      I'm sure you already know the "how to", so I imagine you have something in mind preventing you from using getVelocity()...

                                      Can't help pressing F5 in the forum...

                                      d.healeyD 1 Reply Last reply Reply Quote 1
                                      • ustkU
                                        ustk @d.healey
                                        last edited by

                                        @d-healey I don't know how to use the scripted modulators, would be cool...

                                        Can't help pressing F5 in the forum...

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

                                          @ustk

                                          so I imagine you have something in mind preventing you from using getVelocity()...

                                          Yeah this is the problem. I need to be able to specify the velocity. Have a look at my screenshots above, I have mapped each string, rr, and up/down of the guitar to a different velocity.

                                          The other solution is to use individual groups but then each articulations (assuming 3 dynamics) will need 24 groups, and if I have 10 articulations that's a lot of groups to manage. And I can do it with 1 group per articulation with the velocity method.

                                          I'm going to play around with the script modulator and if that doesn't work I'll just use a addVolumeFade command.

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

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

                                            I think I've done it :)

                                            I capture the real velocity in a global variable and then I pick it up in a script modulator to apply the gain change.

                                            HiseSnippet 1277.3oc6X80aiSDD2NoF0DnmtiCgPfPrOvCop8BNkxUjpN5eSqhnoWTSuBRmPUas23rpN6ZVuNbQH9Dw67BhuC2Gk6a.L6Z6XmVSuzHt1d.VQQYmcl0+lY142ra5H3NjvPtvvrxwiBHFlumU2QLY+c5ioLiV6ZXdOq13PIQfhEs8n.bXHw0vzr79JAlUlyvv.8q+9erw1XeLygjHR+bBm5PNfNfJyj1Yyuk56uG1kbLcPNsWcyVNb1NbedDfmxV1FAXmywdjCwJ0JYYX9NMcoRtnqDKIgFlysM2cT297ehEq+IzP5Y9D0fFFcgEJV7dbeWEhURM1oO02sSpeGZ.KZmrnP43nvGX0l5RGKOKZbe8DnLKxGOLKcUvqQd3YO0vyHG5lKFc.H3tQ9X4jHSkNRlfxmLS0hIIrPpbTVz9UabqB2GX0gJc5WLdKU.dgD0aZ7lj7WvpYudDGYFXmyZuu+lMSOeLT9Xq884mg8yBfblDPEQnw0mlLMZ77nwJz3uqTEdd4zVpFL0kplkm5HRwkl1EUZN2sPo40.dlWdy9Cr55HnAxrYTX6gIRyP2jom3YMLeokWbB06zgDetCTArduHlip.AwYGxkjmxpsX0etZkLMPOA0FVSfnrtGQdRhzZKtd0eoJ5hV2qWr4WXN01FA22mHJbZU1WbUFViEM3LhXYzPreDYrhPXYx3d0oKtCat.B.YNE4rVLp7oAjDp9zfQpjFFicv7Jk4W4kpcmBTKSTAUm6DiI3WOq0tXIVk+SjA5EPDRpxCM2kLDJjh2MTwZWR34RdvTyK9vKURG91LSd4+axjeDORRYdswRA8EFlVGFMnKPU5P.jvXDe3EYYVRsoJdrsZrJxzkvb0C9S3IYxFpwlIS1Hcx7t68hc220pKv7qO+l1Y+P8Xz2gGRP6SfdBpD2Mbegm5HgW+wBLKLfGNwB2kLfdLmoh5YBeVHYOA4GORsSJu7c3XQgS8pM1CbxBsoKVFIzaI2Z.OhImXK3aW8qJOcv6FnGUoCKYA43PIP0KPT2Pn8SSlGjCp6HH.ZUd0AzPIz.ZgpYZ5zmKb0oavfmauLZ0kQq8CfJBhGRv4RE6cxPGU1hHJt02BUqj1ti5w3BRyg.EbMo.56.1WA9nKApGB7tIMtTxSVT3saqFl9Jmr6oRxg5VYwFktRXgLdorq23parlDKv99JwgZ4qOicaWnJBdf94P+.F.zTLuTVv74ItkJRFqNjRpGBmCP0HtFaYTrKD3iGoLUI4w1KpbNkxwemrFKszDRo8P0RCZeySxk.q6SXdx9KVshRsKGruidDA6+kbDg2n2z6ZP1Upyk92CtOzwYPfOoISc3TPhBuuO3g8vQ9xToSxqzly3A84LpSd94iHPqSOOhHueTnyskThcNOmsadDwmfy2q4y27.nlDKfXF4phK+ixxVXt6irhgKRs+Bcm515Vwv9SRZCna62UQ7M1Mzdvmk1lPq.RqQ1gUW406Ho2042rxSRj85pMT8yVLWxKzjDBBzEmk6FQnu.0Xk0paeQdljkfGbwU35w9dMoqle51ybYxoLON+cXF6DudJp6NLR++U.tctBvMw6X.1QvO0IdulhpadsDvuY5+V1JVsUiQMLzEJfcV10sMF.mB7TGGU39QP7oXaVYFr4KmAaVcFr4qlAad7LXyZyfMe8UZi5.3aEI4ChKEAAcZpq8MMaxvvNY8tdi+BDx2eVL
                                            

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

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

                                            31

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts