HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode pitch-shift a signal

    Scheduled Pinned Locked Moved General Questions
    48 Posts 11 Posters 3.4k 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 @d.healey
      last edited by

      @d-healey said in Scriptnode pitch-shift a signal:

      @Christoph-Hart Does this mean we can have a pitch LFO in effects plugins now?

      A pitch lfo can be made with a simple delay buffer that modulates the delay time (a basic chorus), a pitchshifter would be overkill.

      1 Reply Last reply Reply Quote 1
      • P
        ps @Christoph Hart
        last edited by

        @Christoph-Hart did you align the pitch shift with the timbre shift and set a timbre frequency to around 2.5 - 3ms?

        if the formants are not shifted together with the signal it will sound strange :)

        1 Reply Last reply Reply Quote 0
        • P
          ps @Christoph Hart
          last edited by

          @Christoph-Hart can you point me in the direction how you included the library? i fail drastically somehow.

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

            @ps I added a third party node, included all files in there and then fought an epic battle until all compile errors went away.

            You need to use a replacement for std::span (I ended up with tcb::span) as this is a C++20 feature.

            However I'm really not convinced about the quality here - the CPU usage is 2-3 times as high as signalsmith and the sound is super bad. The latency is a bit better, but that's really the only thing that this library has going for them.

            Also the coding style is super counterintuitive - I literally had to copy the entire plugin code into the node and write a wrapper because I couldn't figure out how it expects the different buffer sizes to work.

            P 1 Reply Last reply Reply Quote 0
            • P
              ps @Christoph Hart
              last edited by ps

              @Christoph-Hart can you share the node template with me? I'm doing something wrong - I get 2000% cpu even though I'm pretty confident I do the processing in buffers haha

              btw in general It would be interesting to see how you write a wrapper around a juce plugin code and integrate it as node :)

              Christoph HartC 1 Reply Last reply Reply Quote -1
              • Christoph HartC
                Christoph Hart @ps
                last edited by

                @ps Are you using the debug build? If you don't build the release configuration it also maxes out my CPU here with a single instance.

                btw in general It would be interesting to see how you write a wrapper around a juce plugin code and integrate it as node :)

                Sure, here you go:

                ThirdParty.zip

                This is definitely not anything I'm proud of - I just want to get this thing to work so the coding style is all over the place. If this would make it into HISE it would require a almost 100% rewrite including swapping out whatever weird thing they are using for the FFT with the proper libraries (IPP / vDSP) etc, but I'm rather sceptical at the moment that it's worth the hassle.

                You might have to set the USE_JUCE_PROCESSOR preprocessor to true and manually add a few JUCE modules to the DLL Projucer project (I think audio_processor & hi_streaming are missing).

                P 2 Replies Last reply Reply Quote 0
                • P
                  ps @Christoph Hart
                  last edited by

                  @Christoph-Hart haha thank you - I will have a completely non-judgmental look :)

                  1 Reply Last reply Reply Quote 0
                  • P
                    ps @Christoph Hart
                    last edited by

                    @Christoph-Hart one last thing - what is the magic trick to make it find the files referencing each other?

                    '../stftPitchShift-main/cpp\StftPitchShift/RFFT.h' file not found

                    #include "../stftPitchShift-main/cpp\StftPitchShift/RFFT.h"

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

                      @ps There's a backslash in the path (after cpp. Try if changint this to a normal path helps, otherwise just make sure that the relative paths from wherever you call that works.

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        ps @Christoph Hart
                        last edited by

                        @Christoph-Hart ok i managed to compile it - and if this is what you have heard I understand now why you are not impressed. I downloaded the vst and tested it and it sounds pretty different and has also a completely different performance. I'll do some digging.

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

                        57

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        101.8k

                        Posts