HISE Logo Forum
    • Categories
    • Register
    • Login

    Best practice for fx clicking oninit?

    Scheduled Pinned Locked Moved General Questions
    8 Posts 3 Posters 333 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.
    • whoopsydoodleW
      whoopsydoodle
      last edited by

      I have an FX that causes a click or pop sound when initialized in a daw. Is there a standard best practice way to have a soft on init? I'm trying some hacky things now but thought I should ask if there is a built in function for this I'm not aware of.

      Matt_SFM 1 Reply Last reply Reply Quote 0
      • Matt_SFM
        Matt_SF @whoopsydoodle
        last edited by

        @whoopsydoodle If your FX is correctly built, it shouldn't produce clicks or artifacts on init. Something in your FX must cause this.
        Do you have a snippet ?

        Develop branch
        Win10 & VS17 / Ventura & Xcode 14. 3

        whoopsydoodleW 1 Reply Last reply Reply Quote 0
        • whoopsydoodleW
          whoopsydoodle @Matt_SF
          last edited by

          @Matt_SF In this case I'm doing some fairly silly processing in Faust, it's very understandable that it would pop the audio stream when initiated because of a large phase shift being introduced.

          What I'm looking for is a graceful way to ease on the fx over 1ms or so.

          1 Reply Last reply Reply Quote 0
          • A
            aaronventure
            last edited by

            you can add a gain module, init at -100, use Content.callWithDelay to set it back to 0. make sure you set smoothing to something like 1 second.

            whoopsydoodleW 1 Reply Last reply Reply Quote 0
            • whoopsydoodleW
              whoopsydoodle @aaronventure
              last edited by

              @aaronventure Great. This will work nicely.

              ...then of course, a noob question. How do I address the value of the gain module?

              For a knob on the interface I would use this. Right?

              const var x = Content.getComponent("KnobName");
              x.setValue (y);
              

              But I don't know how to send a setValue or other function to an FX module directly.

              A 1 Reply Last reply Reply Quote 0
              • A
                aaronventure @whoopsydoodle
                last edited by

                @whoopsydoodle make a scriptnode network, make a parameter, get a reference, call setAttribute.

                But there's an even simpler way: you can make use of the ramp node and it'll just reset itself on init, You can leverage that into setting the gain.

                If you want, call Content.callWithDelay to bypass the network a few seconds into the runtime but the overhead should be insignificant.

                HiseSnippet 2016.3oc2YszbabbDdWRtPlfJObrT4bbN3pLUEZT.T1J1kOHJ9xBUDHQwklN5D8vcG.LgKlYqYlkfvt78bym8M+SHWyM8SHUkS4V9Ijq4jc2ytK2cIfnWAqGIFpJBL8z8LcO8W+XF0WICXZsT43t5wSiYNt21yepvLZmQTtvo6tNt+ZudTsgoHoj1dZLUqYgNttK+YHA2UWww94+7vsoQTQ.qfjiyIRd.6I7wbSA09a8m3QQ6SCYGyGWh6ObqtARwNxHYBnOK601IlFbNcH6.Jx1RdNtM1KjajJeC0vz.OaKCm5ORNQjx+IbM+rHFNniiOrPojc1YDOJretspcbb85WX4KmZ42wqGOjeE8hSfeqcBRgDkOCbW5lToNu.pjaIUZkTU5s87CT7XSwLn9rlWWA3PFPgi5xpRJuNt+Kucj.CBSqwzyY6qfAWIv5Onc6MHvet2m1ro0S2JNhN8.oAmBm4de5fDQfgKEDo.oenX8607qatZyuoI45SMXvbmC2ekLJhol6znaWcSBttHY7YL0FjKnQIrqXDNWpdX2ndG1AoGGkXTJ5J3lCiYYi2WFEhGh3um003jcdB+5y6tK0PQuUFMfuXlxvQ0wcW1E.bO02sp2tL84FYL.3mwwBPJYXRD0TEmgATYS.mGUbtnGTn4lokC3dA.esuQvWcUw21qO2DLZ953RyQGgSpWE5XVH6uxauACXAlBEbEu8+yKZ7Y6W33ylYwmvdha9uwC1EkIIFys0UL2fy+pWAdOVwhoJ1wx9PH35Z533H1QfZtA4rHYv497uhMaPRbpVrMxw5AinBAKRuHwRMdIk3x4HYhgKF1iZT7KgTqGjL1GRgGv1IS6.ZtKggQoiaiiQngOSDZG7CvmrI6ficylrS9jkh.OfYlHUma8HY+1w8V3w+s8z1C4SGbYGmGEEImribbLOCnB9.Ks9xnowijBd.RJkibM8QikIvljotOlpOlxiPjsehFxUDdnvGX1Vhyc4SXJscgukW6Vv+.j9AxPXpF6SCfC1o8olQXHCl9AvmLUqfqvoUz0x3DbIxKAldJAp3XzzwBfn+oOUA0Cg74XFmkbWtTFnTPJNBBAWJce5pOAmMfF4bBh.PgbvcAYOSi8PVa5MVFlpgULf6Tx.thiZpx+Wutl2WSnQQDtfPI4xSNiEPSzLhgQ.qIF.7LVnl.HIB2X+NNwrAgcASPLijICGAzIinvZQBn.2HKMa9TYBr3JFMbJL4ELBU.aDHJQyGJnQaPlBbDJEuugLgJLvZksgFIgFFheAqqTQjWvTSTbPe3lTo9KIZCQ.pExAv23zjdL6ZLDMBpEtPF.hizJuwNu77Kq5IjmNF5.opa4cJ4VxYnldkswteNCNEmBmlCkRvBCYTzFmnnwn4xE34CIacguCYomGfUGP0rellmaIyqgG5OpZaqA1lh0xNQMso2y63bWqhoY.F5rojP1.ZRD3eQTA1B5Jk0ZmhxXGSUCAYvSdHSifEjlxv5F5FhEZrftSM3ectJBDm5Vdo1mybErgGhTpJwZd9ikRyHHmo0.fr9Wl2UwtbM1O11IPcszpNUnfGuhP1k44E2CRsGBctXEOOWYoDDneJeDnL83hLmgs972+ce2e+g8nWVlliyVe6V9FVLV8oLe9mylj5jJ2ARpytOSwkg1t4mYsbtAEv9YFE.V1qo.1OOeEXMumHkw1ZuNyrTuF1+FPiaF1Ms0HZqDluJbpBz+t1vZntcqxrTyffHrmM9foEo4XhKXQ.jmnk.QJlcEh3YZLXuCgN.uXGPRkHz1DuAvxpgFPX19p3fvSIvsH.nZozBFr+85DL4V6XhF1demIb3Xz50W8qaF9+Qd2+Asp94hCa059r+PkwsFXG+I6XG6TMbwsDZ4VuZPK4ILlYoeThQNF.R1doetXmrSu4kubX8qLuzCb87YP0p7LQjQ7giZQ7kjynZLsczzMJfQV7AVmqCQy..ZncNQQovbLUanBbnEIkm68C5ztMQiMYRPTQ1NBUUwZ8VIvRu1UJE7QjCriJTMDu0pYy9QICKTIKVrfGssPNMZBcpF2NErU.be..ISUgrZ.Y8TLgaFkWn.T+G20eOx54Mk.Jfn7ZChpSar+d.BrBp+4lqcNfmm9rYAO.PoN4Ze1v+1c2JOUC3jqK1otf35ly+Kemc+mYobKpgMyR8bUlFuZNTts2QnmbtgUO8YUij1VJOeL0d+ge1Wl+toStl2W.sdZeLEau820NFhVFS9LFzdFdE5N2vCm8Op6CmEW6GN6v.CnBGqnBcrTy5Tdku1baVdtcYlDQU1SIUgKz71GLuR78VakSbyxD6SEUVLXbkUpGdgw7g+6Gtm.yx6ayvbnN.LV50Rf1OIRy9BdnYTmxBVPdyxjeLUEB9kfJuGwxUu26J06duUeZlR7OmWJnwafGW7ky667F7Inp79Jqlqi9bref8x5hwpi+NHVzVZImZ0XqdRgL+98Ed8iXFEe3PV0pwyyfdjwPCNufxc15HVDydmmbRu2VOAt1EU0yVUdgNKdweK345u98dopKASHP9+2mNb4eQ+zg0O5CxG9+1dw20CxKuIw5JIuY7kuNdtwWG6wXZfRdZ1s8vf92xRArag8+uqU85giIcbt35sGgOJyoAAUWpYDbyEUv6unB9gKpfezhJ3CVTA+iKpfe7OsfXE8rdfwXCnMm96kdEU2zNbrgIN+HPMSRhd
                
                whoopsydoodleW 1 Reply Last reply Reply Quote 0
                • whoopsydoodleW
                  whoopsydoodle @aaronventure
                  last edited by

                  @aaronventure thanks!

                  I had actually just figured out on my own how to do this with a gain module directly. But your version in scriptnode is better.

                  A 1 Reply Last reply Reply Quote 1
                  • A
                    aaronventure @whoopsydoodle
                    last edited by

                    @whoopsydoodle Yeah you can just set it and forget it.

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

                    30

                    Online

                    1.7k

                    Users

                    11.8k

                    Topics

                    102.3k

                    Posts