HISE Logo Forum
    • Categories
    • Register
    • Login

    Applying AHDSR Envelope to Customized FX Effect

    Scheduled Pinned Locked Moved Feature Requests
    10 Posts 2 Posters 2.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.
    • Evan C.E
      Evan C.
      last edited by

      Hello, @Christoph-Hart!
      I am going to make a customized FX effect binary module and load it dynamically.
      And here I have faced some problems.
      I want to apply AHDSR envelope to the parameter of my new effect, for example cutoff of LPF.
      0_1498464773672_upload-cc12880c-6e6f-428a-bd1c-a6a2561715cf
      However, I can't be sure how I can add modulators and link them to parse values to loaded binary module.
      Please let me get some simple example for it.
      Thanks.

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

        This is not easy because the current C++ to Javascript API doesn't work on voice level (and performance starts to become an issue there). However I could add support for custom filter algorithms in the default filter module as I can imagine that people want to make their own filters. Would that be ok?

        1 Reply Last reply Reply Quote 0
        • Evan C.E
          Evan C.
          last edited by

          I want to add following filter module, where ADSR envelope should be applied for filter parameters: cutoff, resonance, ...

          0_1498495483283_upload-7dd48e2c-02c1-4c67-9de7-7e704f4b40ca

          And moreover, I need to apply LFO modulation to cutoff parameter value.
          I have C++ codes for it and I hope to get how I can do those things.

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

            If you don't have special algorithms for your filter, it should be sufficient to use the filters (and add missing algorithms) in HISE as they offer modulation of the cutoff frequency with all possible modulators on voice level. What filters do you need besides the all pass?

            1 Reply Last reply Reply Quote 0
            • Evan C.E
              Evan C.
              last edited by Evan C.

              Low pass, High pass, Band Pass, Notch, Allpass, Peak, Hybrid are just what I want.
              And the most important thing is to know how I can connect AHDSR envelope or LFO modulation to filter/effect parameters.
              It may cause some issues because of managing parameters between threads. So I need to be serious to do that.

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

                Have a look at the polyphonic filter. Most of the filter types are there and can be automated with LFO. Mutlithreading is no problem here because modulators are rendered on the audio thread.

                1 Reply Last reply Reply Quote 0
                • Evan C.E
                  Evan C.
                  last edited by

                  Yeah, I can find some filters in polyphonic filter. But there are few parameters that I can control. Is it possible to add parameters or change algorithms of such filters?
                  And you are saying modulators are rendered on the audio thread, so may I set parameter values in "processBlock" function of customized Script Fx?

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

                    What other parameters do you need? I wanted to improve the filters for a long time anyway so if you have some ideas, let me know.

                    You can call setParameter() from any thread, it tries to be as lock free as possible (using atomics for single values etc). But I am not sure why you want to set the parameter in the processBlock function, if you use the filters from HISE, you don't need to touch the script FX stuff.

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

                      This is an example patch with an envelope, velocity and LFO modulating the cutoff frequency of a state variable lowpass filter:

                      HiseSnippet 1061.3oc6X8zbaTCEWqczzTZZfRyvzi9.bhgL1tAZ4T2Dm3VO0twM1DnmZUzJGqoZkLZ05V2OAbiS74fY3KPyG.NvL7EfOBbhqfz9GuZMtIdYRZc5fO3Ye+jdR+z68z6IotRAlDDHj.mq0exHBvYMXuIb0vFCQTNn0t.m0gcPAJhrRLzNSFgBBHd.Gmx22.3b0U.Q+9y6sChg3XRFD.bnfhIso9TUF5ybeHkwZh7H8o9V8dK2VXAugfIB07oLrJXDB+bzwjGgLcqDDLlRdQ.voJ7102T97ZG8ps2bleO7UM1byACxiCvgRIgqNTqNvA5725eNv87nJgrmBoH5wbkcDdS5MT7Bd7TeHMfdDiXDpA5o4TLbSAyyr3MeCZLjx75lZBC.5wtalAsbrAcCXGpGcJdlg8ihZnRlF1lVmRmF8pYSupykd0lC8.VrakX1oIgvKjgT4Ylwylz.Uj2o2hqH7.pZhsm+cJcuArKUgGNe9VZN7U6ntn4ahy+5v8FLffUYjcEXyu6sqm9FwT4ZvuEMlDs4NhHaDIOPH8qbeBmHM1zSY28uc9u6derRyf9RDOXjHfTydjmos51ssKQExm18mMXve85Xnb8xr5ZpWcVC6ptof0sA6h3Vc5ImnksZ+ItcnuLS7OtmS4E1gYm4H+VJq9++oQdioQJuXl14XAcr33UR4XOp+HFYO9XBSnQhycrKY.JjolhdljbakRWVJCYC2CHLBJHKV+G9c21TNAI0qcxE+56z7A2BFS2JlMiUd+Hkd42iRoWfyVX6xWMlKeLrqfMYzPAmhaRY5SoEQnaZAWIA+MmYG.ZJIeeHgiSsmm7q+7qcercvP9.4a493PD6Lr++2isKsfAIeBbJwunhrKf6orEqWKl0WAt8C1s2AIICi9tRQyyzHTNlju5GFM4egNSRoe5WbiQZSzSmcGefdUjI+otQC2TfSjt8BCTyDeLa9Mcs7yOuMbA81W2NS1Rd5q0S4Zr4e4lrqAihAtLXW+PXRz4kBC65vjMNKKl1jq3Cgsateh8T+UkoT+ro3rUJhN+r4r9sxRX39ito2rHd9xTuM4X87Xizm3ORnuTB1NeSOegPMjxON+MH1vsg16K7SGcfymAqu0LO.v380+M3yMe90MhjeGTY5lQ10oVPiEdIOVMlw4pmtDv3jSt+AvC00LwlYO9lqohEIz8aBH8QQrIKPqktXrTQ7lo9J8HBK+IdNGOdyheDXywzt7bjcy8Pe4R.cOPDpzoN5fTRy81gOJzumHThIZpx4DVf4E.KALpFIW0HGk0gv8pl97fIMVyH6jzXszFeqLG9HrT7TrfqjBlI4ypQH50MO54PuJriQtRMvXDKLwJ4S8nOEiM2I4KzVm4qQ8BqwsKrFaUXM9xBqwWUXMtSg03tmhFl2cY6PcAo33c.3evEeF.K
                      
                      1 Reply Last reply Reply Quote 0
                      • Evan C.E
                        Evan C.
                        last edited by

                        Thanks, I will have a look.

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

                        52

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        101.8k

                        Posts