HISE Logo Forum
    • Categories
    • Register
    • Login

    Table Envelope for non-linear pitchFade.

    Scheduled Pinned Locked Moved Scripting
    12 Posts 3 Posters 374 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 @CyberGen
      last edited by

      @CyberGen getTableValue() - You pass it a value between 0 and 1 and it will return the table's value at that positions, between 0 and 1.

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      CyberGenC 1 Reply Last reply Reply Quote 0
      • CyberGenC
        CyberGen @d.healey
        last edited by CyberGen

        @d-healey but how do I get the "0-1" value? That is what I'm really interested in. Can I get it from the table envelope processor in real time?

        local glideRate = Glide.getValue() * Table.getTableValue(???);
        
        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @CyberGen
          last edited by

          @CyberGen At what point do you want to get the value?

          I haven't looked at your snippet, I'm assuming your glide script is timer based and you want to pull the value when you start the timer running?

          Free HISE Bootcamp Full Course for beginners.
          YouTube Channel - Public HISE tutorials
          My Patreon - HISE tutorials

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

            Oh I just realised what the issue is. You need to get the current value directly from the module's table.

            Here's a snippet that demonstrates it (press a key and the current value will be printed to the console)

            HiseSnippet 1151.3oc2W81aaSDF+bZ7XIiM1PS.uzpBjRDSQIktAUSnk1j1QDKMQMoEd2zM6KImp8clymyVDBw2.9dw63ix9F.O2ctw1sl1zvFUfegketm+86dtm+bdnf6Rhh3BjUkwKBIHqOzdzBlbVmYXJC0qKx5d18wQRhvwrzdKBwQQDOjk0FOWsfUkxH8yae1dXeLykjtDBcBm5RdAMfJSWcX6um56e.1iLlFjQ5sa2yky5v84w.d1vtIJD6dJdJ4PrRrR1HqasuGUxEijXIIBjYOt2hQy3ulYj+DZD8U9DEQKzHvPlkQclQ88Fd1dMBgrrGlty2vryencepGc45oQf6qY3jpQ1XfUoKCRstFPxJCjJafzCrG4JngxTNJ7bG6dL3.YBFB0YghQVToe2xtCGjfIaDfOkbf.HVpQsmzr4ibfW0eZ0pP3NR5LGKbFiAPtOaNwmGRZ47sN5rfFSIRMmk.n1lZZmkhtY8kBUSYyyYRkoNCLfbc3AgbFPjXGPc.FFeEIwBoJiPTqYisdb8mNIl4JoblCmcHWRFvpUu5OWsR0eopy4YMYRg7TdVv88ASVDaiyzb74tXeGJyi7F.w4iFZfGKD.r8WzkFE5iWP75ojsF.+JUq.9Ih6SZDJnvVyryVFVNA6GSpoMccP7BQXMVbvqHhGAANP3kXERDxmccqUK6x0DwyHHm0iQkCBIIzGv88TYMpuuXtHJ4HSkUlfP.JRcN4cSxI06MDErwssM6XjF7Yq98vRLx5Kr2Z6F4elO.dM4KUetSG4NGSGfPG2qqR7DWBdGPTHQHopMtUWxbnShornhcWRzoRdnV1jLJj0Gbk.7MPgu0uA.ag5iuC930TO4LEwXKDZFgNclTQsIPEdV.ommpR7b48ParKTtBMJ3dw9XY9tGp1jILfC8bkrpxRVDUtHaazqQKklWZKkUEhOvdHU5NqXLVp.LBGRuOvXRi36Zu+jIDWYJ.KaevOttccWc2eOi6ui8HJin6Ioc9mnoc9A7bhyyILhPE7ZcICB+iUcPX3JOHbfqDb+XAlEExixY3Qj.5XnBHJ6hGGAs8I+zQpSyrq2giEEx5sO6.XSVnNivxXgNsX2.dLSlKMXi7mCkWs9S4qHxHeAiEKeCLo9cSY0MXkuUogW3lc2GxiCBSmqow3GCsRmfi8koM1xhx9bFObFmQcydpeDQJnSmRDYwdganckR3Jboq7v1GQ7I3rYved6W.YdXADmHqYr35ewpBOu9LaCbcTUiN23crqZf5GYm61HIMrO+zn2iGZs+0KdnscaiPZXz8ZLkOwR+s5sSm75kXGz6trgRqX1vmljM7ONYn7pkLbE2HakygOKB+eJXeo2.Yi+eeCji3wRJaZeLTeptf5gwAifA+tDv6LFwORcgzRpg2F5lJZyjelml3OgmDlsTzVILacFy+U7Q.1Uveoq42ETUZ2VuBruY5+euhceEsSA+mP.L09ktt4M0ETbq0UwuZcUb60UwGutJ9j0UwudcU7atZEUWpZ2XIOvTZhP8Gtuo4s09LUmbcEA5u.fnJ1GK
            

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            CyberGenC 1 Reply Last reply Reply Quote 0
            • CyberGenC
              CyberGen @d.healey
              last edited by

              @d-healey This works to get the current value. Thank you.

              However, It doesn't seem to work for the pitchFade. I'm guessing the pitchFade function can't work with a dynamic value within a single fade.

              So a non-linear pitch fade is not achievable in HISE?

              Maybe there is another way?

              This is a far as I got.

              HiseSnippet 1452.3oc6X0saaTDEdVmrs0IzRKf.DRHsJBjbnQQdaRCsBUUm3jzZQcST1zBWQ0zcGaOJ6NyxrylVCBAWh3kfqPhGGj3EfG.tnuAvYlY89SrSZpgVEA0WXo4729cNy4uc2Uv8IIIbAxp99CiIHq2v1aHSNn8.Lkg5rIx5h1R7iCINwTo+.zFCiwIIj.jk0L2QIhU8YQ5eO61afCwLeRAID5gbpO4dzHprf5ts9bZX313.x9znRRuZqN9bVadHOEfyL1MQwX+Cv8I2GqDqlMx5baEPkbgmDKIIHqY2fGLza.+ILi7OjlPAnpN3h7.CYHuMOLPgXEUT6AzvfcG41IHvn6VDDlwDDdG6tz.ZN8hfwk0LbJznb7vpVU3MSE34VFdMKAuI.IqRPZVCjthsmufFKK3nvy71cXRhnGFB6kghQVTs+rlcaNHAStbD9.x1B3PtFMVqYykbf+V7ylaNPrDdHYY+PBVzPQAtLRjNGhEN2IjFPbtkyHS0mHayih4L3PiEzbW.znPg1ohCOdEzbqpv95Tra4ny8ThqIj6qMVPedgEyY0PCZAouiuxZODGlpz2EHRYgTFwoWJyWR4LShqJcqwhy8s0mqdWvjPVkNfrtPR6Q8o3PsKW277SjXgTkbJZzb4ltk3fCB1M2biLDfosND7rNAMVbISvRQSioFK57Ikf3RNWa0kbTX+6lKGfb184RxNLE9lqdI3pjx4nh0qmQNCfXFRaLbDBlDnbtpi6XFSc2H3ggfSps2QXabeMmPtONzgxBHOEBw5vu9FMUHfGP3vMoIwg3gjfNJQTvFhxUtVz2342cl.i1dFYGk6EKnP9QglGGlavRidLQrDj5njZD5gZkpEf1GeAX49C9lrzRBxYcXT4NwD1w00.kkZCEq0xPEHpTWpdorRUOUlf.QgJxyaqSKPZ.m2xi8KsP4JOqQ4KlorNRkoqN7cDcgeAXIFYcc6UVa4p+NbmUWYkUtwcGb2Aq0VeF9q2UUrtYasDHzC5roRcnYQlm.dWLAJGTANqMIGBMtMcdpauII4.IOV6pYUw.PetN6SyA6kiaML+vefaEwA1VmyVO.HBWH3O96sRjjXO52PJOYIIsWOJHkssSTBJhFD.MG3ITUZQtbs94VQUGHEO5BqiFUlPZLV.ySfVfJhWvdcoDlxfBH8voglZ1BK98p6mbO97OuanB+vIpjCiZzZhHY.g1ePoAieUqmPCjCxI7C8ZgFeP.LBhGjFhkUmKoFFmwPETJOLP0vmAAqgkiM+qMr5zBwqXq6bNYLVaBXTUZ8R.iYi3un8V85Q7kE.bV6s+xWNyyK+3uf4w+APMB+w3vh.ETEBHgXlq+gYrcx46jKf6IrD1ucZWBK9TuDl0LmzRWtS4RWydlaoqSad7aO1USxqvpsJqFNuAluooexVrCIgPObMJG0ioLx5xY73AbF0ub1wdDof1uOQTYUdZLODKNV+IqqYoAY6QfEGSHiKjFGa9OXTUlkKYmO19ZqVXhadD8xr6KR2C2SNlW6TlZ7dYSSTkTNmoaF+91ihpm4g5IN2Xl+aO2XOdpjx52ECknp0eteZjGzX1m.OcFiDp1w0plZaTy4lpypHfGgEnO7WvuLltpyVYLcGwrrKdIiKNusGLmQ+9EZG7c0mc9BL7Nc2g.SfTWPuhmBsiuDd76KvrjXdREC6Qhn6CqnkTl3CRfW1k706oxXJSuMGKlHqmc6sAmbh53gkoBcp25Q7TlrRp1qmNdVYQzJiFqOBidzn3iLa7sfWnQus+HptS6XxSyrwe8mFe13G05dPxFVzU+dPSUrv8E9KHcLCBLv040CB9+9ffWEOiHruf+Hey27PkmdAMEvuY5Oxac6tpyNti+0Nf25m9He+plZLEu1zp3JSqhqNsJd8oUw0lVE+zoUwa77UTMDZ8TIOxTZhPc2cKy15VawTqtqqHP+MfGoe5n```
              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @CyberGen
                last edited by

                @CyberGen Yeah the pitch fade it linear, you could try calling it multiple times within a timer and seeing if you can create a curve.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                CyberGenC 1 Reply Last reply Reply Quote 0
                • CyberGenC
                  CyberGen @d.healey
                  last edited by

                  @d-healey Bummer. I think this plays a big role in why pretty much all glides sound unnatural and unrealistic, except when you use them for a synth. Humans are not great at doing anything in a perfectly linear fashion. Pitch bends aren’t the exception. Maybe @Christoph-Hart can work something out and add a non-linear pitch fade in the future. 🤞
                  Thanks.

                  LindonL d.healeyD 2 Replies Last reply Reply Quote 0
                  • LindonL
                    Lindon @CyberGen
                    last edited by

                    @CyberGen can't you just assign an lfo in one shot retrigger modes and use a custom shape?

                    HISE Development for hire.
                    www.channelrobot.com

                    CyberGenC 1 Reply Last reply Reply Quote 1
                    • CyberGenC
                      CyberGen @Lindon
                      last edited by

                      @Lindon I thought about that initially, Yes, I suppose it would work when used for simple pitch modulation. But I couldn’t figure out how to turn it into a playable legato/glide script. I mean, if the pitchfade function ultimately only accepts a fixed value for fadeTime, its going to be difficult. I recently just updated my glide portamento script to use object factory and stacks. It’s going to be hard to reinvent that wheel.

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

                        @CyberGen then I guess I would generate a set of values that aproximate the curve you want over a fixed set of time slots and use a timer to modify the fade time to match these values...

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @CyberGen If you fade note to note then the fades are so short that the linearness of each one isn't a problem as the overall fade can have a curve. This is what I've been using in my instruments

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

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

                          21

                          Online

                          2.0k

                          Users

                          12.8k

                          Topics

                          111.0k

                          Posts