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 @ps
      last edited by

      @ps I played around with it yesterday but it always sounded very cheap. I‘m definitely doing something wrong maybe I‘ll try their JUCE example and go from there.

      P 2 Replies Last reply Reply Quote 1
      • 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

                          28

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          102.3k

                          Posts