HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode Phase Delay and building a phaser.

    Scheduled Pinned Locked Moved General Questions
    5 Posts 4 Posters 414 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.
    • lalalandsynthL
      lalalandsynth
      last edited by lalalandsynth

      What is that module for ?

      I am going to assume it can rotate phase but not sure , not suitable for making a phaser as it can not be modulated without clicks .

      I would normally make a phaser with multiple allpass filters but the svf allpass filter is broken in scriptnode, if you sweep it above a certain range it goes silent and will not pass sound again until removed and inserted again.
      And the dedicated allpass has noise when modulating knob, applying smoothing and it lags too much to reach the needed values.

      Anyone made a phaser ?

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

      lalalandsynthL 1 Reply Last reply Reply Quote 0
      • lalalandsynthL
        lalalandsynth @lalalandsynth
        last edited by

        @lalalandsynth Anyone know how this module works ?

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

        Matt_SFM toxonicT 2 Replies Last reply Reply Quote 0
        • Matt_SFM
          Matt_SF @lalalandsynth
          last edited by

          @lalalandsynth To my knowledge this node only shifts the phase of the signal. To build a phaser, there's a filters.allpass node available.

          Develop branch
          Win10 & VS17 / Ventura & Xcode 14. 3

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

            The phase delay module is the building block of the HISE phaser so you can definitely build a phaser with it. It's basically this:

            4938597b-998c-415d-85c0-6a25a5384731-image.png

            As with everything in scriptnode: if the modulation crackles, you need to use frame processing.

            1 Reply Last reply Reply Quote 2
            • toxonicT
              toxonic @lalalandsynth
              last edited by

              @lalalandsynth Don't know, if this is interesting for you, but you could build a phaser with a few lines of code in Faust:

              declare name "t_phaser";
              declare version "1.0";
              declare author "toxonic";
              declare license "GPL v.3.0";
              declare copyright "(c) toxonic 2022";
              import("stdfaust.lib");
              
              coeffOne = hslider("coeffOne", -1,-1,1,0.01):si.smoo;
              coeffTwo = hslider("coeffTwo", 0,-1,1,0.01):si.smoo;
              lfoFrequency = hslider("lfo freq",0.25,0.1,1,0.01):si.smoo;
              phaseOffset = (hslider("phaseOffset", 0,-1,1,0.05)):si.smoo;
              phaserTrig = button("on/off");
              intensity = hslider("intensity", 0.7,0,1,0.01):si.smoo;
              fb = hslider("feedback", 0.6, 0,0.999, 0.001):si.smoo;
              
              rangeCon(curV,oMin,oMax,nMin,nMax) = (((curV - oMin) * (nMax - nMin)) / (oMax - oMin)) + nMin;
              lfo(off) = os.hsp_phasor(1,lfoFrequency, 1-phaserTrig, off)-0.5:abs*2:rangeCon(_,0,1,coeffOne,coeffTwo);
              apSer(off) = fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off));
              mPhas(off) = (+:apSer(off))~*(fb);
              phaserMono(off) = _<:select2(phaserTrig,_,(_*(1-intensity),mPhas(off)*intensity:+));
              process = _,_:phaserMono(((phaseOffset*-1)*0.25-0.25)),phaserMono(((phaseOffset)*0.25-0.25)):_,_;
              
              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              62

              Online

              1.7k

              Users

              11.7k

              Topics

              101.8k

              Posts