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.
    • OrvillainO
      Orvillain
      last edited by

      Yeah as I said, the multipler feature is great for those super slow LFO's. Awesome when you start combining different expressions to shape the ramp too, to create some organic modulation shapes beyond the basics.

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

      @Orvillain you can container.branch between a normal ramp and the clock sync one for switching between unsynced & synced time.

      Right gotcha, and just sack off the tempo_sync node altogether when using the regular ramp?

      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 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

                              20

                              Online

                              1.9k

                              Users

                              12.4k

                              Topics

                              107.7k

                              Posts