HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode pitch-shift a signal

    Scheduled Pinned Locked Moved General Questions
    48 Posts 11 Posters 3.5k 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.
    • C
      clumsybear
      last edited by

      You mean pitching real time audio right? That’s not possible atm as far as I know. But that’s a feature I’d be glad to see

      hisefiloH 1 Reply Last reply Reply Quote 0
      • hisefiloH
        hisefilo @clumsybear
        last edited by hisefilo

        @clumsybear yes real time. I guess some custom SNEX will do that. but im looking a not C++ way to do it due I cannot do anything on cpp

        1 Reply Last reply Reply Quote 0
        • C
          clumsybear
          last edited by

          Not sure if it would be possible with snex right now. Maybe @Christoph-Hart can jump in to clarify.

          1 Reply Last reply Reply Quote 0
          • C
            clumsybear
            last edited by

            But even if we get a pitch shift module, most of the open source algorithms sound pretty crappy tbh. I’m hoping to see some fft shenanigans we can play with in future HISE builds

            1 Reply Last reply Reply Quote 0
            • ustkU
              ustk @hisefilo
              last edited by

              @hisefilo It's a rather complex scripting task using delay modulation lines with smoothing methods... I'm trying to get there but I still don't understand how to use the processSample callback... @Christoph-Hart any clue for accessing sample computation?

              I found that it would be doable using the stock nodes. I'm working on it, and for the moment I got pitch up and down kind of thing, but very noisy. I still have to smooth the delay lines transitions for clipping noise and find a way to make a usable step scale (because it is, I think, dependent on the samplerate, which mean I need to find a way to "inform" my graph with the actual samplerate)

              Can't help pressing F5 in the forum...

              hisefiloH 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey
                last edited by d.healey

                The only viable option for HISE as far as I know is Rubberband, and for small changes it's pretty good, but you need to tweak the settings for the specific material you're running through it.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                hisefiloH 1 Reply Last reply Reply Quote 0
                • C
                  clumsybear
                  last edited by clumsybear

                  Rubber looks interesting, how would you integrate it into HISE?

                  d.healeyD 1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @clumsybear
                    last edited by d.healey

                    @clumsybear Christoph would need to incorporate it and he'd need to get a proprietary license from the developer.

                    We had a discussion about this last year - https://forum.hise.audio/topic/1064/time-stretching-algorithms

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    Christoph HartC 1 Reply Last reply Reply Quote 2
                    • hisefiloH
                      hisefilo @ustk
                      last edited by

                      @ustk thanks mate. I will try that. a chorus example by Christoph involved delay lines generating sort of pitch variation. will try to find it tomorrow

                      1 Reply Last reply Reply Quote 1
                      • hisefiloH
                        hisefilo @d.healey
                        last edited by

                        @d-healey remember that. every single day I think I should start learning C++ seriously

                        1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @d.healey
                          last edited by

                          @d-healey no, everybody that uses HISE in a closed source project and uses Rubberband would need to get a license (there would be a compiler switch that disables the library by default)

                          ? 1 Reply Last reply Reply Quote 1
                          • ?
                            A Former User @Christoph Hart
                            last edited by A Former User

                            @Christoph-Hart said in Scriptnode pitch-shift a signal:

                            @d-healey no, everybody that uses HISE in a closed source project and uses Rubberband would need to get a license (there would be a compiler switch that disables the library by default)

                            What about Mda? AFAIK, Mda has a pitch shifter-time stretcher called "Detune". Source code is in somewhere here: https://sourceforge.net/projects/mda-vst/files/mda-vst/

                            So isn't there any remedy for that needings?

                            d.healeyD 1 Reply Last reply Reply Quote 1
                            • d.healeyD
                              d.healey @A Former User
                              last edited by d.healey

                              @Steve-Mohican I just checked the source code, doesn't look like it has any time stretching capabilities. Although could be another pitch shifting option if it's any good.

                              Also he hasn't put appropriate copyright notices in his files. He's included a document which says they are under MIT or GNU GPL but in the actual .CPP there is a copyright notice which says all rights reserved.

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @d.healey
                                last edited by

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

                                @Steve-Mohican I just checked the source code, doesn't look like it has any time stretching capabilities. Although could be another pitch shifting option if it's any good.

                                No it has a pitch-shift engine. You can check the plugin itself rather than the source code: https://www.kvraudio.com/product/detune_by_mda

                                Also he hasn't put appropriate copyright notices in his files. He's included a document which says they are under MIT or GNU GPL but in the actual .CPP there is a copyright notice which says all rights reserved.

                                Yeah I know but since Hise uses some modules from Mda, I just thought that it can be usable. So how come other Mda modules can be usable in Hise?

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @A Former User
                                  last edited by

                                  @Steve-Mohican I didn't know that, which mda modules does HISE use?

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

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

                                    the Degrader and Limiter modules (not the Dynamics) are mda plugins, but I am close to removing them as they don't bring much high fidelity to the table and their functionality can be reproduced with scriptnode modules pretty easily.

                                    About their license, back when I embedded them, it was licensed under the public domain license, not sure when and if they switched to GPL (and if this is even possible).

                                    d.healeyD ? 2 Replies Last reply Reply Quote 1
                                    • d.healeyD
                                      d.healey @Christoph Hart
                                      last edited by

                                      @Christoph-Hart The degrader and limiter source files from 2009 have no licensing info in them so it's a grey area, but I would assume the author intends them to be either MIT or GPL (choice is yours).

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey
                                        last edited by

                                        I just installed the mdaDetune to give it a try. According to the tooltip the detune amount is lowered on the left channel and raised on the right channel. The docs also confirm this.

                                        aae5ef09-534b-4835-bb2c-7a673eb75bac-image.png

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

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

                                          @Christoph-Hart said in Scriptnode pitch-shift a signal:

                                          the Degrader and Limiter modules (not the Dynamics) are mda plugins, but I am close to removing them as they don't bring much high fidelity to the table and their functionality can be reproduced with scriptnode modules pretty easily.

                                          If it is ok about license situation, please don't remove them, because I've done lot's of things with them, and will be ready to release, if you remove, all of the work will be trash.

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

                                            Don't worry, I am using them myself too in some older projects, so I won't remove them entirely, but what I might do is to remove them by default and have a preprocessor macro that enables them so that people do not use them in new projects at some point.

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

                                            16

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.3k

                                            Posts