HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode clock-sync - is there a preferred solution???

    Scheduled Pinned Locked Moved ScriptNode
    17 Posts 3 Posters 321 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.
    • Christoph HartC
      Christoph Hart @Orvillain
      last edited by

      Or should I attempt to build the retrigger functionality into the custom envelope modulator scriptnode that I am building?

      if you're loading that network into a hardcoded envelope you cannot replicate the monophonic with retrigger behaviour as it will follow the voice allocation logic of the sound generator.

      Why don't you want to use the inbuilt function?

      OrvillainO 1 Reply Last reply Reply Quote 0
      • OrvillainO
        Orvillain @Christoph Hart
        last edited by

        @Christoph-Hart

        @Christoph-Hart said in Scriptnode clock-sync - is there a preferred solution???:

        Why don't you want to use the inbuilt function?

        You mean the built in LFO block??? Coz I'm adding a bunch of waveshaping and warping and fun things to the LFO shapes.

        Musician - Instrument Designer - Sonic Architect - Creative Product Owner
        Crafting sound at every level. From strings to signal paths, samples to systems.

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

          @Orvillain No I meant the inbuilt monophonic / retrigger function. This effectively turns a polyphonic envelope that only runs when a voice is active to a constantly running, monophonic time variant modulator (basically exactly like the stock LFO).

          OrvillainO 1 Reply Last reply Reply Quote 0
          • OrvillainO
            Orvillain @Christoph Hart
            last edited by

            @Christoph-Hart Gotcha. No, I'm fine using that function. Just didn't know if there was a reason to do it another way.

            Musician - Instrument Designer - Sonic Architect - Creative Product Owner
            Crafting sound at every level. From strings to signal paths, samples to systems.

            1 Reply Last reply Reply Quote 0
            • OrvillainO
              Orvillain
              last edited by Orvillain

              @Christoph-Hart I'm a bit confused here.

              I put a regular ramp into my network. I put it inside a no_midi container. When I play and hold some low notes, and crucially then I play and hold some high notes afterwards, I get the same speed ramp out of this.

              But if I try the same with a clock_ramp, the high-notes change the speed of the ramp I get from it, for all of the voices.

              In fact, it doesn't really matter if I play low and high notes. If I play any notes, then while those are held, I play some others... the speed of the clock ramp will change. Why is this??

              This only happens in polyphonic mode. Does not happen in monophonic mode.

              Musician - Instrument Designer - Sonic Architect - Creative Product Owner
              Crafting sound at every level. From strings to signal paths, samples to systems.

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

                @Orvillain ah damn, that's a real problem - I've never used the clock ramp in a polyphonic context and the fact that polyphonic nodes are only processing audio when a voice is rendered make the synchronization super hard.

                I can fix the double speed by adding a polyphonic state, but then it still resyncs every time you start a voice, so it's not synchronized to the clock position at all. I need to think about how to address this best, but this might get complicated.

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

                  If I add a monophonic modulator that uses a clock ramp and sends it through a global cable I can pick that up in an envelope with the proper synchronisation, but that's rather hacky.

                  HiseSnippet 1840.3oc2YssaaaCFVxILMmZQ6V251PGftXWjNDDX6bnsaWjyoMX0IFwNo6t.FI5XBKQJHQmDug8Rsmf9HrGgh8Dja10c+jTxRx1wM1MmZSAJL+4oO9e36+mhkC31jvPdfg4jUa4SLLmFUoESTe85XJyX6MLLe.pDNTPBrzhVqkONLj3XXZNxqjBLmXTC0emu7ZXWLyljHxv3.N0l7FpGUjHs7J+F00cKrCoJ0K0nWXkss4r04t7l.dFAk2vGa2.eLYGrbX4PFuFGV2v7mQOuvKW5EjWle94e4REHKr.oXgEWbwhym+n4ymu3hKLuC9n7O+EKYXN1lNTAOnh.KHgvhtF2oUk57SY5M3.ZH8HWhrQAiJvNqEardcpqS4XkSnArPkSTUinUUOFUh5PaKOQk8PUGVIyHsRyLW+fTgA.RlofznZH8HTE6.puHoGIdlBsMCrf0vfsIMTzi0v7cn04v.Xh47vMHaE.MZOgYVJe9Ysf+6Y+ZslLaAkyr3rc3BxtrYd1j+4jSL4eMoUmcUqVO6StMAbWWRPO6V5NDzuINCqo2QjfYsNA61jzdfvwOqNcrKmN0VepSMPNaaFUrqOIp8VbWGotR96ts.FQpM3W6u8FXAVZThjAiymDHnR3XtA4DHLPahl.sAIrgf6CABcY+.OGtSSWrHq6jLPKpCPejwFJMTrPpnU5.wAvGKee8wtrP7QnxTgc8diwb8.ifl55.iQQl2GsYsZDaQB.GEs0uOrggW9seb81+CnW4xOB6lnn.eB.IDc33OF0sU69sZOfB8gf8etrDr9WZB1NCbFdxnQuE3GuZ7c+5tLGg2fQXl4RAywzv7oQr3Rq2A3.JlIZiMEjmFsG1yuBXF6fQumXcMpO2EGjlw+eQIrq9ADeb.oJurKt0LgvB6R1CNUyZo+cXYRvZtb6FcSL6qgtp2YNpIDyEbgoDtxyV7wxIfthbsSwxuCQbJOngJ4azugfdsEI.TVgZKxptt7SWm64SiHCAMuRVYtaK+5bF0VJROBB3IxXD2U83MgMwDYlC1oDlTkxsB8OHxtjFTnHnpXpqjXsRyPHUkytrJv5nHFLG4.RPnZOuGJ+bv+.Orc3NPWisE1FzGsJiE0kL11wbNyY2NVHywHsiktDrLcKW0XtDMxfCjmTQIKUybjTY.00pHaANl4zaz1gGH60F6ZbfzxIOOp0TETDAY8PskpfCkasQWmg.xbo5tWPNU2eDHOZZHmxDTEGbLQDFkcmQr0FUEH21QVh7wJFjCswROpxXXyHP8Sx9tGRe5j6DDLcVbYBaPC8g3s0TAMgcIQplXNjyj37CveaB93NPoHpoGIKYijyG0tE3RVhxhTpIYJJgOqCYEWohf3q8sRnKpzfbpVMmVpzRbOTUhmO2nJ4LQUtZw.8wIfFStoSg1GPbMvixwniM5wqrAoFtoqnK4F8G0mub2nN+.h5oQkfcl56RgMYfg94K2ane9xFCtBGf4.A86iV0woJuB8XFDlLvX2vn2XWla7ZG6Si122AndKIijucU6FCnGyjv8kfNnmPtR04o3z5fwHCq12hB3MET1wykYLcSs0whjlbahw9a1q+v.yImhcKB9OHh9LT6B1KRwrzPloLOSL7dVFF8iFRu.WgNUq1Tv8.mU00UxbfLViya3gUI8+jukWz8C99n561D.sKr.YKt6gn0kpbq3dyX4KwY73JHRzU6QDAziOlDbAk80yxBiqEbVzc1ppdJJTAxCIQ5hC8hUUEtjUYk6NXUV88X0cbdeG9MUUXeIwXcAkwgPXGmKn5sKjia7Oa33Rm+QeTyXDmDADf0mSJuaCmd7eDesbYJe9ylrBWbF6anrBC8GVajur+vZ6oIUJggjaxKBsSSO8m7HhKOLlFOpc9XuxJ.ac93aIE0YAYaynNKz9JT5EWa+Redeh97NE5s3SHpWDQcZ+FU6Z7.OqWQ.R8toru1+jc6ZK.HTM.yB84gjBYhNHdzpbFILizNlQwdNihYCHDMYYWZsnLiRpJ1BTEoF23qDKrXZgkwrLKFzNyJURZeia99k2jISOTg.mbmcCsAECti.9xMcCIuk5HpWH8DSDWLs3WiCb.aXlRlLGIqa5nWtBYx9k3SM96HOYzUymD8V7EGx7pVSDiwJT4GOocEwRL9UnHZ6XoEF1Bk64AZUg.a2H8mpXOhKAGlJ17mV4MP9Dbf5FtCmtXvegudZu9NjFtVRxCqOeeonq4DZYzmSEeWL8W+u22E6owuMPb2IORPgO86k00Ci8t+al2u79gjppxiU5CUALpsPIT+8+fpsRWA6r86Ak9kNtM4Ul24cn2cq+bYP1k61wDOAAY4JZoBLrtcJ06lnVqah8vCaGvOzV+QLjg7iqj.mal5hLSfJIaaUv3jNq12CR.ensc1kpqIVbXm37C6DWXXm3hC6DWZXm3yG1I9hO9Dk0GEcgLYrATzX4M0rgl55EUgIF+OghS8tA
                  
                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @Christoph Hart
                    last edited by

                    Alright, I've fixed it - the solution was surprisingly simple as I could simply hook into the callbacks that resync the clock when a note on is received in poly mode.

                    It should work now correctly.

                    OrvillainO 1 Reply Last reply Reply Quote 3
                    • OrvillainO
                      Orvillain @Christoph Hart
                      last edited by Orvillain

                      @Christoph-Hart You legend! Thanks very much! Will test here and report back if any problems. But I've got quite a cool LFO thing here now!

                      Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                      Crafting sound at every level. From strings to signal paths, samples to systems.

                      1 Reply Last reply Reply Quote 0
                      • OrvillainO
                        Orvillain
                        last edited by Orvillain

                        Just to report back, it worked perfectly. It even now picks up the lastest value properly, whereas I'm pretty sure it didn't before. Very nice!

                        So here's my take on how to do switchable LFO's:

                        You primarily rely on the built in modules monophonic/polyphonic flag for reset/retrigger behaviour. Don't bother even building it for your own network.

                        Do your sync this way:
                        0bc0eeef-5d7a-4c85-822a-a9b901fc0519-image.png

                        A branch container, containing two chains. Each one has its own ramp source in it. Make one of them the regular ramp source, the other one the clock_ramp source.

                        You can even write a simple math expression to adjust the phase.

                        Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                        Crafting sound at every level. From strings to signal paths, samples to systems.

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

                        19

                        Online

                        1.9k

                        Users

                        12.4k

                        Topics

                        107.7k

                        Posts