HISE Logo Forum
    • Categories
    • Register
    • Login

    Remake stock Phaser Module in Scriptnode

    Scheduled Pinned Locked Moved General Questions
    12 Posts 4 Posters 100 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 @DanH
      last edited by

      @DanH 5 phase delays in serial with a feedback loop will replicate it to 99%.

      DanHD 1 Reply Last reply Reply Quote 1
      • DanHD
        DanH @Christoph Hart
        last edited by

        @Christoph-Hart thank you! And the two frequency settings? Do they control a number of delays each?

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

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

          @DanH they are just the lower and upper range of the frequency sweep that you can modulate as you wish in scriptnode, the phase delays are all set to the same frequency.

          You can also play around with the clone container there to increase the amount of phase modules or introduce spreading, but for the base replication you wonโ€˜t need that.

          DanHD 1 Reply Last reply Reply Quote 1
          • DanHD
            DanH @Christoph Hart
            last edited by

            @Christoph-Hart ok please advise me on my fumblings around with this ๐Ÿ˜†

            HiseSnippet 2213.3oc6ZsDaiabFlTRiesa1toYaPOJf1CNMKLrrjs2E8fjsrkWgXYoJp0YCJPclkbjDgI4vRRYuJEEH.8R5odN2J5sdonWaOsmBPOTfhlq8POUfda68.j7ObHoHEornkkc8tXsAL773m7a99eNblVVTYhsM0RPbkNCMIBh2EIMzvoe09XUCg56IHdOTCrsCwJOuqcGZhssIJBhhYOf0g3x4Db+4Uk2EqgMjIi5RP3XppL4PUcUmQ81pxGopoUCqP5npGZ1kpTWlZTkpQG.3IKZcASr7o3djivrokAI7DrceAweB5wcK93Gs053hJORlHKWp6lauUIbgRE2DSdbwt3Bxjs2bCY.jKruhpC0RxA6PrEDysKUYnTe54F7Wvwp1pOWivZTPPBdy7tqQ0TXKQ1+KTsuplRKehxVPPD0ZDskkSaO.0PUQMn+Qz28cGH+HIBSfhYhBurQfWgIAuDfjXHHkiCo2EIIaoZ5LZDFdtCptAnM6hA8TXnvmqf3KQUovDLbVSGeJolEzHPfU2Z80eXd3OevOs6.CYGUpQdpwQTGRSiU+fU9Uqr7J+5UxO9Pc6l3XrWiEUSiXk3vLSCqKRvUMFn+bh0CyeFVa.IXhvxOJmtP53TY9pNzDoF0MTcZZR7ZOxnnPBZ.AOZC9umVeOrCloT75ClmIwxQkAGw8HmAtDbUzxn8H1m5PMAmhX5OvxgpLPC6D0bh4z4M.vGQzgLEkgspyvvNkiaikax7w5I5Bj3pMkv8cQsTcj6mLdyj.dAV65FuddruCZ+tcIxNi.aNTsmcgtm4RmozThdjMN2shmqJ79Y.4tdMyW6YERzI8KPibHLsHlXKRGZKM7vUsw5lZj1.deX9mqQkOUR8yHw8hL4PXW1LVUtO1vfnYOKNaKLmBfIzlNvQ0nWCrik5KfPrGMPWBxCHSp5gNnOwLL+Ld60YsY1KRDCE2FeK7i2fEXsE8Frf+fgbQOh3bN05T2Hmd+uf3hLt+cPsdxNR629jN6K0QXGMM54Uo5lpdlufRvsuVTsgl8oFpxrt3yvGp6nSG.uEO7B4r5fU0X16RCrgnIJMMjfI6lnTL6wDKa2G7hn0WC9Er+Ohp.CsXMrLvrCagc5ybjXAn.KUh0ZxAVrQAaXKEdJyniydt9YW4bGfacFgvxsxzZsvVfbPzdVfpLtVp9At3oXXs.u0Lbqz51GyFUFqIbLytfIj6agyqtKiEXScQjsoFTBvDWR7giu.7E7hgdTfFffLQP.m0lBolDB3ibYPvkkpxEBnKirHxD0yHiCUKtCxZ9CGGpiDcJfMSD5JjRmgb+VvRugpgGXGEdtA9Ei02qJK4PLYwYBOOoSImyWAgmIaEtBpFgn7bnzNgfmz27G+e+yF69eJuGoKdflSr2pPHFZItFYiKutLPxqSkIxy8kW6rYerM4DEBDadqn.99ntuXsPCmn6a3wuXP6mzgk0Jcp2khqdKUIl58K95Jiod+8e4W9WJGS8V42n+2KyKvrlE4WN.huMTHzi5GscwS97JIqeGVYmANTcHEhR.UlDCt4MCCl4MWFr3aYvqHCV5sL3UjAK7VFLkLXXHGNC3BHanLxnz38BJPvcr3jnmPWlRCRH0GTBsAwcyAAKpfpNRBuKxK9pGj1cL89cfD1Vj05Moxt3hLOT1YuXk8m7x30z.0ujFk8K68m+AU3ZD2uEVrmxjpmYB54zVyUkeW5LF+z2auu1yXTRmRc5C1GBwr0SFjkpLEbMO3s6hZSrIdu5TydSzPyq.uBW9RCQnF0eV5Kw5JUgXlHEy9htXEfgGKlnLee2q4MZR0x5MzkpV1LigzuGae1gXSOvx24pvXSdA1W3IPMgPsaHA56yYefmNXqdDG22P3N79FXdQLri1ziHpy9Jstd6iTq79bcoDlkmmeziDefWlDAyi86rHZLy6ewes9cy7g+gxoK3Pj398hsG1KNLpmDy99Aeary2nicNwFhKFdAvMiq0d+eVAg4uSRLQSF6up7XN+BICwMtMCwbnZ6daFe77f2d.3DBvGj8KRDd+HswVUKgNr4IUeZmayL+RnmT+1NFAqil6ccBvu5i192tym+uRs0AJQqiw9raQrQBusLgoK8lWIoKdkjtzUR5BWfz6RompicO+iq7oUtTv8FPkczSGL5dCv6H+AtkhE9b+hduA9jWtm695CYk7wpJrZaBlQkDtYA0MNCPYKpF1Z7SPL675T0yk5i4jsjx+Zywx98QtT9qS.10j30G.eeTK7sAChahiUMDkrnejhVr.QdGm8c3sF+zryDDPpP.O7o8qDz6FA8tvWUI3HiBJM9uUtAaEEh.ydMdYZlfUIegcMoluD2ofvH99bDiPGVqomsH7e4CvegoCxQoJB57eWlcgspaDdeTeL9LRWpktmROP7CI8fWT3d5PzMoRCMjiTKf+1phdMvdPkCoTy8Mv.MnD9g3R1M61E1zSjGC7X6P4WRsprKzPjrD8LfsGyuhRg6u5.aXWj9K.9AfCkq3lJT7mi1pzZvOc+P1eebU3OEaNeZKL+txWYRoU564p9CzyLCga4AO4HNvH7+mH9FN9483rxcfZmLHtWDSWB48cammYtl+.hAwJtebzZp9Go8tXZl56hYSYG302wBaXaRsiVTOQWsC0fw5i57oP7ePC1lEWLhmGEak3PPXGXQlnLRXmAVtAX8uaMtik+Ocv+MVX+TFPM50nKz7mRYfy0664MbIIW0qNX1zA2ojeZYeLx2ev9Pc7ZvNNBJL0cme98F0HuA0f5eqqFYczl.Nm85Qh9kWSZAsiiCNb9gGToMQifCaM+iqbHXEhsb+T2yFWLmpt3Gh3vMOyyL+aFW4yruAckOukkE4l3cniksnm3c1TLa4kb6AV2Fd2.sFr14KHb13efHcHp3IxxQeTwDbiYUvhypfklUA2bVEbqYUvsmUAezzEjkzx6fUXtrBBMZsOuXXwfJwEyJ7c.VqTbL
            

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

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

              @DanH There you go:

              HiseSnippet 2642.3oc6a0DaaibElTxibri2zr6lVrG5AAz8P1tAFVxxNwnGr7exQnVwpVJYy1BTuSHGIQXRNpjTNV8Gf.zK6sdduUzSs.EE8Z6obZQWTTfhcurWJPOUf8V54Vf12vgjZnHkL0uwsvN.NlyLugeuel26MONSUKpBw1lZIIub8tsIRxqfp00zo0dsvZlRk2WR9VnJXaGhUVdS61sM11lnJIKm9PVCxKsfj6OuZ6cw5XSERuljjdBUSgbjlglSuVqV76poqWBqRpqYHL5BEKqPM2ipS6.3IMZMo1XkyvMIOByFVJjzCw1sjj+1nMxutRA06qlO+FasoBdSxVMvMZjac0BE17Aaka8svEdvlj01PRNyApZNTqZNXGhsj7B6RU6VqE84l7WvSzr0dlNg8PNoZval2bIptJiEYsJsWKMc0p9BJaIIYT0dhszbw1cPUzT0BZum361tcjsGEhBP4TggW5PvKmH7VS.dw.IYAHs.GRuIplhkVamd8vvyMQkMAsYCLnmDgBerRxuDsGEFfoypF3yHkrfGBH3tat1Z2KK7q266zniohiF0LK07QTGxwl288V9mr7RK+yVNa+c0nQr8wdMVTcchUrcyLMrFFg20riwyHV2K64X8NjfABreXYJZvxTQUtBmqEFH0rrolywsIlCxPPxSTA+0iKuO1AyTDdsAiqMwxQiAA48ImCKC3pkkP6SrOyg1FVHDQmAVKT0N5XmvlPrEZdc.xfP5MlxwzVyoq3BwolcURg3ahpp4nzJdLlJFLBRpYAF8VM9FnCZzfn3zCfKfJ8zYzRuzQkQK6szCdmrW9JdOlszSyE6htOF0y.usEoM1hTmVUG28t1Xi15jS.LdurOSmpbVMseLI5ph1bHrKaD2UoE1zjnaONKdxjXoRtgqTNg1wQyrYErik1EvpvG0wnF3WWgrmG5f1jSwVCwedM1yL6hZDSU2G9OvOdcli8rrWm476TX42iHNOmZclqmPu+VRdQlr+MPUe3N0N3jSqePs5R6nqSe9dTi1ZdlofRvsspT8tsaQM0TXMwGgOT2wf1AdKd3EhAUGqoyrqq0wF7NndrYMXvtA9jS+Dhks6DuHZsUg+A14OhpBcsXIrBHY6VE6zhsfg4vArNIVqpDXkFFrhVJ7Pfg6mMu9QK4xN.2FLABKVISqUEaAzAduYNgR4Zo56ThGxf8DrpLE2Jsr8SX8pf0kdBytfQj6agKWcYiL7bBZvl37m5ZRJEhydGANKznhxN8MMCmelLzmR.82.4JwWW5RzHQAb.kyKntLxfpxQSHvdGAvFLhn3Uf7YIhSKf3UPTaEH8NV7gnBXKxpBcGEvgndTfLqKvQ4E9Qg2WytM3+b2NPb.dBRgZgwWlpjK7ckb.3MTER4ykbe2KBqd.lK3IXobEMSOoPu3YUvWzWa2tXMGRalCawXy0Ni7btbQrUlnKCKxJQJxLuOoAtitSj1kFcH8tw.Ivq5.gzMQkrH+nNfyst8iq+91whqWbVwKAWuZ6n3ZsQTTshKtxdByItTj4OdA1q1dLDX.HFQc3gPjy4NjFlNbQT0VX6Yqc0nhoLtozNBhIAOLKgr0ZlGbrE18xsPFv+upeeQ8szitKwwRpPNVB4EPddnt3SPxUWBxlLn1DbeAjuI2uqaGQkJdTbIhjEBIR5klecrUShis29dLIJ7jpbCgUVkEvzPyz.eQOoHqUeVbV6zN7Cgx.vCVgDT21MnJjc7pd8FWB.dcMRwlhSdkIV40sPsYqUOUk.b8lgkZh9hktbp2Xhnd8Ih5BSD04lHpyODpGXD8aLmVK+a+lee0+0m8kaOn0x6zwgBtw3aaVZ3.rPwH.7i+hDDe+O+S+p6+yM9Kay8kByqlQGCoHS9UHHhuHFHBSzfhVLPH1uK6e4m7I+gsG6rjd4Ru3y8hlw56JUPe.Rv3m6w7GVpQKifMYisXkAZLfUedvWDAAFzbF7V33cG0CtOgijC731Z1hnX1WVR1DoOgyxcjsPn7krHJDsyI8CUKdIZV0u63RYxuuoSJSyH2rKiJQHpOCqbVOKq+8u4e94U18ejPOsQqNP9wt5.4mAZ1zAZ1LdUShWFlPYKzWxLMtXUgtisZRh8ObP6+EQXENcr00IJbfqO4H55h9gCFvNR+V2e8Sew.BHzsXbJ6nRvMtVBNgRv0uVBNgRvBWKAmPIXtqkfSnDL+0RvDJAGT1oYP1DyH0mxOeK29hqRLtcLJYZESxCBaP1G7AIwEGdWjmKaSHwkbwV2nlCJKVNISCkc5gqr+vWFMEQHcvjnreYye+Wu3fK33f23Qh2BY7ovV7WjLiwO5s2+K7LFqYPoNs.6ijtU7BWVg1mFxsUPmPrINiZIIGjglWJx4F8jqQnJkeZxs1lhervKZfUIVCpTgd8F2tA75Zj1MPp9P5Wi8gyEjldfk+onk5avg+.RHzIUpA56myNYF8J7XJwFBW31AWG2Ltq1CWYMukTRiy7468H1Ibdu8wHUo6G9GKuRp2+WM56czSLMBtQ8nX72d809N++ZemI6A4EE4FtMcoSN36kSZ5WS1vj9QsFXUXSlmf3+BQ8pKsT7bV9YNm8Ve5rhy7JmcDNaATockl9t3BH8OoU+c+0a921dxXqdoSFhuDpAWDFiG6dFxYWVA2SpByKhc7erx94pafN53S26w0uBwXwfwGV9pNFAqii2e1CvA4wMJ.2kROy.6dZBm3y06MBNU8ZrO08g8NU87FxdnadPhmV1vmp9O7k66toZA93CzTYIVDLhhwbt6KadNfxfO3h34tM8T5Hd5dn.R1gClwRYuRe.leKjqX9pNHcU8WsA4sQUwutT1yiCcrfXXQ+U9tGvJuC68M4O0+Y8NUPwlxIl7TPq4CZMymVLHTZPdle11UXbjfPapsLVNwVebFaFoZGATdaNJQniJcrmMG7WYCvbtKGX8J8mvAZjckjJaJtQjO.eNoA0xvSQGP9QjlvKRrk5Di1zZcMUBEXxeeIgunS2o3QTZ6CLw.qqJNItB3iaz.10PnoAl15T90vZO2iJsnm9llv9K4WBGw12qiMrMLeFfejvgXm7CK0O.sYgUgeZ79reu0dvuV+3oyyRSOcdpDZY91tp+.8LyPXzMMWHYdcF9UCSZjPbfQ3qSDOm8YdKtTA1ytlIw8pF5JP9FtOmkYtl8PhIwJ553v4E8WS5sMrchusgGq3.u95VXS61T6vYXRLzpSMYR8dM9XvmOnA4GBYwUdTrUrcAtc.lLVZpgc5X45T0+1l31W1e2geUDW8KjrETWxkXbgY0kXbttP503ciKTHok7wHOs9Cfzu0gMJDjao6NO7aMrccEpI0+pG0yf3DBrdrYSR3pUFGCsiiCVLjvcJdBQmfsCcf1NBL7vVtkGdlGddX5q2AwgaV1hwIJUh4pY1PueioSz8abpi2w+tN9+NANlGuCCrhE8TuumCyV9Fts.7so2gfqB64r4jNu+JJX.dEOUQI7TEgv7iKgqOtDVXbIbiwkvMGWBu+3R3CtbBYAs79XDrkrRRUpd.O+W4fjukSK8eAHF1RaK
              

              Some notes:

              • you need to use frame processing for the modulation source (or if you're relying on outside modulation, use a smoothed parameter that smoothes the frequency modulation for each sample, or you'll get zipper noises. This makes this a prime example of an effect that should be compiled to C++ before shipping.
              • I did some quick & dirty A/Bing and somehow the feedback value needs to be twice as high as the HISE module one. Not sure why though...
              • Remember when I said, you need 5 phase delays? That was a really funny prank from my side, you actually need 6.
              • going from there you might apply some skew factor to the frequency range and other tweaks
              • I haven't investigated the mix parameter, but the combination of RMS with a skewed gain range looks off to me (the original one uses plain linear 50%/50% mixing without any skewing).
              griffinboyG 1 Reply Last reply Reply Quote 1
              • griffinboyG
                griffinboy @Christoph Hart
                last edited by griffinboy

                @Christoph-Hart

                About frame processing, why do you recommend it here? I've yet to find many use cases for frame processing aside from cases where you need access to both channels simultaneously to process each sample... You said something to do with smoothing? I'm just curious

                The default c++ node has frame processing set up, same as the snex node. Yet I always end up just using process in 95% of my dsp because I can vectorize each channel and do things much more efficiently when not interleaving them.

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

                  I've yet to find many use cases for frame processing aside from cases where you need access to both channels simultaneously to process each sample...

                  As soon as you do modulation that should be sample accurate (delay line modulation or FM), you absolutely need to do frame processing. You might get away with a small fix_block container (eg. fix_block8 or 16) for slow modulation changes.

                  Most of the delay modulates are not smoothed by design so that you can implement these effects properly, but they rely on a smooth modulation signal which will get zippered if you're resorting to block-based modulation.

                  Christoph HartC griffinboyG 2 Replies Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @Christoph Hart
                    last edited by

                    @Christoph-Hart oh and also when you use the routing nodes you'll introduce a latency of the current block size so in order to get that down, you also need frame processing.

                    1 Reply Last reply Reply Quote 1
                    • ChazroxC
                      Chazrox
                      last edited by

                      ๐Ÿฟ ๐Ÿ˜ธ

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

                        @Christoph-Hart

                        Ah yeah yeah.
                        That's fine then, it's not an issue in my designs I don't think. I end up creating systems for the sample accurate parameters which smooth and then update the internal variables of the dsp. And sometimes I create per sample paths for when modulation is happening.

                        But that's very interesting, i never thought about it that way, you could process left and right in one iteration if frame processing. For sample accurate changes that indeed is more efficient. I never thought of that.

                        Edit: oh that latency thing is interesting though I'll have to investigate. Although I've never used a routing node.

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

                          Usually as soon as you're doing more than just trivial stuff, the overhead of interleaving and deinterleaving the signal becomes irrelevant compared to the actual DSP workload and if you can't vectorize the stuff then operating on a per-sample basis is more straightforward.

                          So if you eg. have two rampers that smooth out the values for each channel, using one ramper will compensate the overhead of deinterleaving the channels.

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

                          13

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          103.2k

                          Posts