HISE Logo Forum
    • Categories
    • Register
    • Login

    SNEX simple delay example?

    Scheduled Pinned Locked Moved Scripting
    13 Posts 5 Posters 408 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.
    • O
      Orvillain @A Former User
      last edited by

      @iamlamprey SNEX or Scriptnode???

      A SNEX based delay is totally doable, but much much much more involved than using Scriptnode nodes.

      This is literally the super crappiest delay you could ever hope to put together:
      2d5ee822-b337-449f-9509-edfc2f0f1870-image.png

      But hopefully it helps you with the send and recieve positioning.

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @Orvillain
        last edited by

        @Orvillain The scriptnode method doesn't work for my use-case, see here:

        Link Preview Image
        Scriptnode Synth Crackling with Chords

        Pretty frustrating issue, sounds perfectly fine playing a single note but the second I play 2 or more it crackles. I've tried using different containers (all...

        favicon

        Forum (forum.hise.audio)

        Either the send/receive nodes need to be fixed for polyphony, or SNEX

        O 1 Reply Last reply Reply Quote 0
        • O
          Orvillain @A Former User
          last edited by

          @iamlamprey Recreate my network above. Throw it on a sine-tone generator. Play some notes, mono or poly, doesn't matter. Then while the delay is decaying away, turn the delay time knob.

          You'll hear it crackling.

          So if we already know the jdelay will crackle just when moving the knob around manually, without any special network going on, then we know that converting a midi note number into a frequency, and then frequency into milliseconds, and then connecting that mod source to the delay time .... is simply not going to work.

          My advice would be something along the lines of using a clone container, so that each individual voice in your synth has its own delay line.

          ? griffinboyG 2 Replies Last reply Reply Quote 0
          • ?
            A Former User @Orvillain
            last edited by

            @Orvillain Yeh I think you're right, any good physical model would need per-note pitch flexxion for higher velocities anyway so there's no avoiding it really... unfortunate

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

              @Orvillain

              I'm sorry you're mistaken.

              You can create polyphonic and smooth modulating delays in snex for sure. It's just dsp.

              @iamlamprey
              I'll post an example in a bit

              You need to use the Hise polydata system and the sfloat smoothing system

              O Christoph HartC 2 Replies Last reply Reply Quote 0
              • O
                Orvillain @griffinboy
                last edited by

                @griffinboy said in SNEX simple delay example?:

                I'm sorry you're mistaken.

                You can create polyphonic and smooth modulating delays in snex for sure. It's just dsp.

                You're mistaken about what I have said. I have said no such thing.

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

                  It crackles because the modulation is not smoothed. It‘s a feature not a bug because you can use this to implement chorus & flanger effects.

                  If you want a delay that is smoothed without pitch changes try the default delay node or use a smoothed_parameter node to control the delay time.

                  O 1 Reply Last reply Reply Quote 1
                  • O
                    Orvillain @Christoph Hart
                    last edited by

                    @Christoph-Hart Aye, gotcha! Totally get it now. And that's what sfloat does right? "smoothed float" ???

                    Griffin was talking about SNEX. I wasn't talking about SNEX, other than to say it is more complicated than just doing it directly in scriptnode.

                    It seemed to me that this was inherent to the jdelay and another delay was required, but I guess not!! Thanks for clearing it up.

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

                      other than to say it is more complicated than just doing it directly in scriptnode.

                      yeah that's the entire reason of existence of scriptnode, to make it easier than writing code :)

                      But I've updated the docs for the delay nodes to reflect that information.

                      O 1 Reply Last reply Reply Quote 2
                      • O
                        Orvillain @Christoph Hart
                        last edited by

                        @Christoph-Hart Vundabarrrrrrr!!! high five

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

                          @Orvillain BTW, here's a SNEX code that implements a very basic pitch-shifting algorithm, but it also uses the internal container types & index algorithms as a best practice on how to use them in SNEX:

                          Link Preview Image
                          hise_tutorial/PitchShifting/DspNetworks/CodeLibrary/snex_node/PitchShifter.h at master · christophhart/hise_tutorial

                          The Tutorial project for HISE. Contribute to christophhart/hise_tutorial development by creating an account on GitHub.

                          favicon

                          GitHub (github.com)

                          JulesVJ 1 Reply Last reply Reply Quote 2
                          • JulesVJ
                            JulesV @Christoph Hart
                            last edited by

                            @Christoph-Hart This doesn't work. It throws Channel Mismatch. Expected: 2 , whether I set 2 channels or anything, still happens.

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

                            43

                            Online

                            1.7k

                            Users

                            11.7k

                            Topics

                            101.9k

                            Posts