HISE Logo Forum
    • Categories
    • Register
    • Login

    Group Project: Reverse Delay

    Scheduled Pinned Locked Moved Presets / Scripts / Ideas
    16 Posts 3 Posters 1.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.
    • WaterSpoonW
      WaterSpoon
      last edited by WaterSpoon

      Hello Awesome people!!!

      OK so here is the idea... I have seen it in the forum but there did not seem to be much movement. I would like to incorporate a Reverse Delay into a plugin. Like the kind of guitar effect where you play a few notes and the playback of the delay is reversed. So here is how far I have gotten and I would love to share... and would be grateful for any advice or help in getting this thing to work properly.

      I have managed to get it working 2 different ways.

      HISE MASTER with Faust

      The first way through scriptnode Faust using a DSP of a reverse Delay from GITHUB under a MIT license.
      Download of the DSP
      https://gist.github.com/tomoyanonymous/d527fca58e929de6a021565505589406

      HiseSnippet 1317.3oc2X0rbaTDDdVIM1QNFSBUJJNtG3fSUFWRPHPUbvxV1JnhHaUdUL4lqw6NxZPyNyxrijsfheNlC7NvC.uCT4cfaTbH23H4NGB8ryJuqrULxJFe.6pboo6dl9a5o+5tkaqj9z3XoB4TtynHJxYYr2HgtW8dDl.0bajyJ3VjXMU4ZEs0nHRbLM.43T7QFANkKgR94karEgSD9zLQHzARlO8wrPlNSZ6ZeAiyaPBncXg4r9A0Z5KE0kb4..OEwUPQD+9jio6RLlU.ibVXm.lVp7zDMMFrYKYvHudxSDV6OfEyNhSMKph7fCxJFUuGiGzd7cMFgbvsyt4Es276gawBXmIOKBbmDEtY6HeLvovkAopWAH4jCRkrP5tXOeEKRmowfmaiaJfGjtDHTmGJVaQNOGWWBFHzqGR5SanfEmsgUeXkJq4B+49eV2ABeMSJbkhckZ5dhUu+Re6RkW56Vx87p51cp5LtQI4bpZppMutpKaiqJFDdDUsl6PBe.8LCgq+jwzElsXpu8VmyPonofo2KhlttgjGXhUlOewW.TZXC9zSZtMQSLOJox.6hnJMy.GmsoCgrZ6STY71z39ZYDjWeg2OHyQFLfSzSlNY3MoJf3wDuglGJQLSOJOu574Xkd8wiJ4hG+K21YDt2E2lo86Mc7VXJ3EhZyNmnxkxIPWjk9V3c51k5qy.XIbimNuTxJWYJ4RoTRvmFmub5R2FOs5TIiOCmk3GonQDEsirMmLZ0XRXDmtOfw0bOhK866w9F5EYKQVHrkwhU86QDBJOddHUKbMUnBsubflINtEQqXmBkR2cPnGTx1mVOEcfLmBF9jccEyZSdgGUDjr3UvOoJqZV6jpr5Xk4nh6R0mHU8SdNR+LxYQarONIHeX2Sqh1jykmTWFFwRyRg2fDYsk7QQ8jBluQj0hwHcyP4.vIov8yIwcHLtIs1aPLTzHXOgGXbRKMmhGPUwIG7h3JqC+Bo46JC.U3FDeHvNpMQ2yvWL0gfjSpZc+yRRm.q4ySLGw3Vd1nD.wPyUOogWwbEdr4ilU.aqf8TaFefQqOgiNv7da.Oxbl13kEeFSWD2kLHVil.qKCXUQW2pYtQUgygpx35b3jZFLFRqfUzgPziFPgD+DVcd6eaSFTahB5xCcohGuKqeQ4T.jvyVA4ysXhTSyJ8zhb5Dxdg7Oq4ooQFtU9Rpd8omXCE4kZ6tlfRsYzjIO9m8a0PWQ+Wa8W8WabN++hVG09R7eIb2ix63e7N+vW8GabUcr8RdkbLFGBz47GxO8q+7ueS34agigRij.zENaj2IllOcHpio53ykMf1RJ6GRRpM7F2wdEqxai8.laxHvI712MYs6WRFRceDE3zlliUecSA+7+96+kYcJ3nYdJ3870f66nHh3HY7DGrGMj0QJL2wLgOIFF5i906apClWdcIQMUUubiFvkbp6winGnRJnNtVYt17Em4wRx2QYxoexY+TZ.W5+pwzuQGg5MehuqmQXJOFidLynG6HFR4.IIAiuCvJf9.b8XoSlj2RJji6hlkArOEFA33ioSxnm1EZSsF9tbYRtWs8obJIe176W6wPVHQ0Joo0bEKt5eCqo9d8dXKbcMLS2+eLodwYZR8qc7N+Sse8.kahYUuI7QHwWIOz2NhuIW9VIRf6sH4eNRYbKyZ2pngoSOYFREEBUDOz22Dt+.H9L887gywd9n4XOOXN1yGOG64gywd9j4XOe5ktGSynMGnkgVpHHn8NIin33rif.YxIY8n+AfyMMyU
      

      This works but I was only able to export using the Autogeneratedproject file through projucier and then compile to make a hard coded effect. 9 i will post the forum link if I can find again)
      I was able to load the plugin in Ableton and Reaper, but there are clicky artifacts. Any ideas on how to reduce them and make it smoother. The artifacts are in HISE as well

      The Second way I got this kinda working was through Script FX

      HiseSnippet 1422.3oc2X80aaaCDWJIpawsqXcnXXOxG1.jaZRs6Z6FPVPShSbQvZZLhR6JPPPAiDsMQjI0nnRa1P1Wn8knej566gsihxVTVxdNdY8g5GBJu+P969w6NcrcDbeRbLWXYu7QWDQrruki2ELY+V8wTl0d6XYeam8wwRh.oEs8EQ33XRfks8hOSIvd4krR+8gmtMNDy7I4hrrdEm5SdNc.UlKsyl+LMLrMNfbDcfg0OZy874rV7PdBfmEcZXEg8OC2i7BrxrEbrruwtATIW3IwRRLXy17fK75yeKSa+qnwzSCIpEMs7fMRK1pUeZXPmgwZrkksSm7HeQcjeWm8oAzQxyYfuLUAJ2CSNvdgoAolWAHYa.okzP5NNd9BZjLWiBO2zYOFbgzECTsITz1ZY+dmVbv.lbsA3yHsEvhQN39jFMtOB9S806lv7kTNCwYufKIGvbqW62qsbsKqgFWU2tUpScLBdXHQToZ0sqXZN5xRFbJQbez43vDxHCgvuHmdiYiS80Qsggb1dLp7fHR1517v.EWo92kuArxnM3e8x81AKwpKkLYfcQDgjpfi8NjygrZ8UzxN6PhOSxif75R2ePlCOHIDKKlNopaxT.7Qg6P0EEKlJuvrtZ7brklLezvfO9Wh1YDt2woCU52uZ7tPE3EXsYulnwTqIrJWk9EN61sKwWlCvkbZ+54sjrwUtjrVVIIblpC+VYKQsecypJFW3telCjWFKgbbAJFOHJjbH.KzFncY8nLxZ8HRuQhcqudsbyCHg3KTUQdDevgGtNxP4oI.OH7n+lZuhvhXBbW3ZbB2qf+0AmGsmam5K32wmjI9sBpD1f.x6.oMxDJH3fgxVsYlPZr161Iggf7t3vXRlJeAONtKzW+4DVOY+IhqFq03w.ddvCzto73fDoIbTh1iMTRMiVGpB5zdJH3WWtvMESZPSQ+jAs.qWYk5HskpeFg9ZQIw8cAb.7sR0ko+cR64XwUoMdHhekpMF3FE8fR9LxXcnoAvHmpWTOvFZCZhVEMtQWB8HyYjHAAHYxQ7NPvYPy2GcZH2+LEQTtCbjNsdakEt98wLFILdXDohFnwrNoLFBmgFbbiSVKLKZlDUk6XIVh1E4Zl7XpaH4axnoLX6T1RmB5ZjxuhQx4pEzr53Te85nuyLsnzAQiakcTTVOU7V7fKe+WqvVTZ+RyyHAZd.1Oi7tiGg5SJhCM4XfiwXmxmznL5Qmz81HK453hQvXGUYGWoHFcyo1UJQlE3xSfh4r70oelWNEJyH85X5IC4qgfaZjsY+IWy7gl.vyQ4zt+U7tw1rgQivptAlPyuwMqTiyhbQErRUMoNNGKmTrLD3o0qv2BMwcMVsBp4jHAEAX5GTIOdfOVPKEIlw7kiZJcUlvy4ZZpYqC4IRnbYerTPeGruu.Z.AuevmzJit.Y1KnFtSutgZsZHEOBKHcweC+xT1Ts1NSYygJuFmK71Zk2zwC9ze5CsRmh3qSWi9E74DzyHLhPMBVyI8Vq2+W+weNqu0JZleq0A9R33ORfYwQ73BarGY.8HNSEi4BeYL7zBxudnZlPS4s3pu4WgpO7z1PPVoOdXYhHc3xsFvSXxBCSt3LO7qYpRwYrMruhw7V5+qGC9QcP8+6uq35YP4kGhQOppA9tryIgPQRJF+JnpnKNITNTZwj784LdTeNi5alAbHAps60iHLwdkAzVRI1+rbI2cyCIgDrY172t4ygrPr.3IxbxEW82wW48023ngKRUYh9z38fKNSuG7ZGuy+aCudfxGiOB8w3LFfgo3diu9a2pb4OOUBD2rz+K3V1Ye0ZTSqzumC94.ugxZ.zQ7M99J5dUfep1mGNG978ygOOZN74wygOOYN74GlCe9wo5i5iQakH4CzkhffN6lNhhs8tLLjIml0a8O.vGEf2
      

      Its rough and it works (Really badly). (Play three notes quick and you will hear them in reverse) but it is like the sample rate has changed and its just fuzz. I am still in the 101 and experimenting.

      Well that is where I am. This has been my obsession the past few days. Open to anything.

      Best Regards,

      A Fool.

      HISEnbergH 1 Reply Last reply Reply Quote 2
      • HISEnbergH
        HISEnberg @WaterSpoon
        last edited by

        @WaterSpoon I have been working on a reverse delay in RNBO/Gen that I am pretty happy with. Haven't finished working out the Scriptnode network yet (for tempo syncing, etc.) but once its done I would be happy to share.

        WaterSpoonW 3 Replies Last reply Reply Quote 0
        • WaterSpoonW
          WaterSpoon @HISEnberg
          last edited by WaterSpoon

          @HISEnberg That is awesome!!! I have not yet messed with RNBO yet, going to check that next.. Glad to hear you are happy with what you are getting and thank you for sharing notes. I know this effect is possible. HISE is one of those door beyond a door, beyond a door things. There is a way!!!! Do you get artifacts with the delay playback?

          1 Reply Last reply Reply Quote 0
          • WaterSpoonW
            WaterSpoon @HISEnberg
            last edited by WaterSpoon

            @HISEnberg So wow!!! RNBO was the way to go!!! I have export some of the guitar pedal effects and was able to bring into HISE. This is an EPIC addition. Thank you for steering that way!!! i am going to focus on learning RNBO and building the reverse delay in there. Awesome tip. It still would be cool to get working in script fx.

            Well, if anyone else has anything, thank you for it!!! i will continue to post any progress. Cheers.

            1 Reply Last reply Reply Quote 0
            • WaterSpoonW
              WaterSpoon @HISEnberg
              last edited by WaterSpoon

              @HISEnberg Thank you for steering to RNBO. i found this video and was able to recreate this as a RNBO c++ export and load into HISE!!!

              This was great and Kudos!!!

              Some things do not copy 1 to 1 from Max/Gen to RNBO.

              This is not the MAX forum so I will spare everything RNBO talk. But here is the few things I had to trial and error... and would recommend...

              1. Build all buffers in the RNBO patch, not the max patch.
              2. Gen stuff in the Gen~ Object is all the same as in the video.
              3. When the video references.. "Gen @expr..." Just use "expr..." in RNBO
                4.Buffer~ "@samps" in MAX is "@samples" in RNBO.

              Here is a screen shot of the RNBO Patch of how I got it working and with no clicking. As you adjust the delay time the Windowed buffer adjusts. In the video he goes go further into adjustments.

              56deb311-5a91-49c2-a2d0-4d7a7d4b8875-image.png

              Here are two great videos that helped me finish it up, export it and get to HISE.

              Kudos to these folks and @Christoph-Hart

              Hope this helps someone. I would still love to see this concept work in straight script FX with scriptnode or coding, but I am not there yet, LOL.

              Anyway on to the next thing to learn. Happy building!!!

              Will

              HISEnbergH M 2 Replies Last reply Reply Quote 3
              • HISEnbergH
                HISEnberg @WaterSpoon
                last edited by

                @WaterSpoon Congrats on finding a solution! Very similar approach to the one I took. You can embed the RNBO patch in scriptnode as well for any further adjustments.

                I know there are some new features like time stretch and core.record in scriptnode as well, which means storing buffers. I.e. once these are fully functioning things like a reverse delay should be possible.

                Just fyi, buffers can communicate in RNBO and Gen~, so you just need to store a copy in both and your good to go.

                WaterSpoonW 1 Reply Last reply Reply Quote 0
                • WaterSpoonW
                  WaterSpoon @HISEnberg
                  last edited by

                  @HISEnberg Thanks again. yep, i referenced the buffers in both gen and RNBO and it worked. I was able to export and it worked the same in HISE as Ableton.

                  Agreed on the script node for further processing and I look forward to exploring the nodes you mentioned.

                  1 Reply Last reply Reply Quote 0
                  • M
                    meto396 @WaterSpoon
                    last edited by

                    @WaterSpoon Hi there I tried to rebuild this as well but I failed. Would you share your RNBO patch with me? I also found out that if you put an envelope (to the scriptfx snippet you've posted) that controls the filter, the cracking goes away.

                    HISEnbergH WaterSpoonW 5 Replies Last reply Reply Quote 0
                    • HISEnbergH
                      HISEnberg @meto396
                      last edited by

                      @meto396 What errors did you receive when building? Did you receive them trying to compile it to .dll?

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        meto396 @HISEnberg
                        last edited by

                        @HISEnberg no I don't have any sound the effect isn't there I don't understand why. I know how to compile it to use it in Hise

                        HISEnbergH 1 Reply Last reply Reply Quote 0
                        • HISEnbergH
                          HISEnberg @meto396
                          last edited by

                          @meto396 Probably something to do with the buffer, it sounds like your issue is in how the RNBO patch is built, not with HISE: https://docs.hise.audio/glossary/rnbo.html

                          Also, I find it can resolve issues to move any dependency files/folders created by the RNBO into the HISE project.

                          1 Reply Last reply Reply Quote 0
                          • WaterSpoonW
                            WaterSpoon @meto396
                            last edited by WaterSpoon

                            @meto396 Hey there, I am away from my set up but will be back to it after the weekend I will see what I can export and share. Still new to RNBO. The one thing i can see from my screenshot above that is different then in the video is that inside the Gen folder he has a switch activated through in2. I replaced the switch button with an operator with a value of 1 which would keep the effect always on. The other thing is I settled on one mask for the window in the screenshot above there is one bang that loads on startup. In the video he is manually hitting the three he made. The only control i kept in the RNBO was the delay time. onceyou have it in scriptnode you can make a bypass and other controls. one trick to do that is to use the feedback delay in scriptnode and replace the delay with the RNBO patch. Now you have a feedback knob. Reverse Delay is hard to control - you can tempo sync in scriptnode but it is in what is being played. hope this helps some. but i will see how to share RNBO snippets once i get back in front of it. -Best Success!!!

                            1 Reply Last reply Reply Quote 0
                            • WaterSpoonW
                              WaterSpoon @meto396
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • WaterSpoonW
                                WaterSpoon @meto396
                                last edited by

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • WaterSpoonW
                                  WaterSpoon @meto396
                                  last edited by

                                  @meto396 said in Group Project: Reverse Delay:

                                  @WaterSpoon Hi there I tried to rebuild this as well but I failed. Would you share your RNBO patch with me? I also found out that if you put an envelope (to the scriptfx snippet you've posted) that controls the filter, the cracking goes away.

                                  Awesome, i am going to try that, i would love to see the variation. Thank you!!!

                                  1 Reply Last reply Reply Quote 0
                                  • WaterSpoonW
                                    WaterSpoon
                                    last edited by

                                    d7fa58f3-328e-4c60-a6b8-566b7dea2b6f-image.png

                                    This is the Max Patch level. just a sound for testing and i referenced the buffer to see what was going on.

                                    2abf5da5-1d87-48b0-ab1d-1b0c6a86fc60-image.png

                                    this is the Rainbow patch (same as above) - Note the "Loadbang" as this will build the window to the buffer automatically when the plugin is Init.

                                    c39cf7a0-16de-4d2e-838e-8a0f2e12ca24-image.png

                                    This is the Gen~ folder. i highlighted the changes mentioned above.

                                    i believe the no sound issue you are describing is that the effect is technically not on when exported. i did it this way to be able to add all that in HISE. Best Success hope this helps.

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

                                    52

                                    Online

                                    1.7k

                                    Users

                                    11.7k

                                    Topics

                                    101.8k

                                    Posts