HISE Logo Forum
    • Categories
    • Register
    • Login

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

    Scheduled Pinned Locked Moved ScriptNode
    17 Posts 3 Posters 319 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

      @Orvillain yup

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

        Sorry, two more things.

        For retriggering... is it better to just use the monophonic/polyphonic button for the modulator in the module tree....

        de896074-85f0-480d-87f0-13872e4f095f-image.png
        3900fb3c-de63-40ca-b42c-ca9369d8c335-image.png

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

        I'm intending on compiling it once the network is done.

        Also, am I right in thinking for the clock-ramp it just syncs to the incoming clock no matter what, and that there is no concept of retriggering or free-running to think about??

        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

          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

                            22

                            Online

                            1.9k

                            Users

                            12.4k

                            Topics

                            107.7k

                            Posts