HISE Logo Forum
    • Categories
    • Register
    • Login

    Connecting Rubberband Library for use in HISE

    Scheduled Pinned Locked Moved C++ Development
    28 Posts 6 Posters 4.1k 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.
    • langermarc19L
      langermarc19 @Christoph Hart
      last edited by langermarc19

      @Christoph-Hart I attempted to do this by adding a path to the compiled rubberband.dylib in the "external libraries to link" section of the auto generated projucer file, and my node contains a #include to the header where the API methods are declared. Let's see what happens when I include the .cpp....

      1 Reply Last reply Reply Quote 0
      • langermarc19L
        langermarc19 @Christoph Hart
        last edited by

        @Christoph-Hart this resulted in an error:

        Reference to 'Point' is ambiguous
        

        seemingly because there is a juce::Point class and also a macOS defined Point class. I'm going to dig deeper into what's actually happening when I'm building/linking these libraries. This is at the edge of my C++ experience.

        Christoph HartC DanHD 2 Replies Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @langermarc19
          last edited by

          @langermarc19 You might need to swap the order of includes so that the rubber band library is included before the JuceHeader.h file

          https://forum.juce.com/t/reference-to-point-is-ambiguous/24884/8

          langermarc19L 1 Reply Last reply Reply Quote 0
          • langermarc19L
            langermarc19 @Christoph Hart
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • DanHD
              DanH @langermarc19
              last edited by

              @langermarc19 Did you ever manage to get this working?

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

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

                @DanH I got it slightly working but not really a while ago. However since Christoph implemented pitch/time stretching recently I haven't looked into it any further.

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

                DanHD 1 Reply Last reply Reply Quote 0
                • DanHD
                  DanH @d.healey
                  last edited by

                  @d-healey is there pitch shifting? I'm not after time stretching for this product. I've used the Faust one but it's not quite good enough. It's for Scriptnode.

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

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

                    @DanH https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching

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

                    DanHD 1 Reply Last reply Reply Quote 0
                    • DanHD
                      DanH @d.healey
                      last edited by DanH

                      @d-healey Yep not what I'm after for this but thanks (unless it can be repurposed for SN?)

                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                      https://dhplugins.com/ | https://dcbreaks.com/
                      London, UK

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

                        @DanH

                        (unless it can be repurposed for SN?)

                        79db75a7-388c-4019-ba2f-05cd3e4741b7-image.png

                        I think this applies to scriptnode too

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

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @d.healey
                          last edited by Lindon

                          @d-healey so to be as clear as we can:

                          With time stretching on...

                          • I have a little tune in C Major, it lasts a bar, I pitch it up to E, and it still lasts a bar...?

                          HISE Development for hire.
                          www.channelrobot.com

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

                            @Lindon That's the idea

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

                            DanHD 1 Reply Last reply Reply Quote 0
                            • DanHD
                              DanH @d.healey
                              last edited by

                              @d-healey so where are the pitch options? Can only see the timestretching options in the sampler voice settings

                              Screenshot 2023-11-09 at 15.22.34.png

                              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                              https://dhplugins.com/ | https://dcbreaks.com/
                              London, UK

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

                                @DanH just enable timestretching and add a pitch modulator.

                                DanHD 1 Reply Last reply Reply Quote 0
                                • DanHD
                                  DanH @Christoph Hart
                                  last edited by DanH

                                  @Christoph-Hart Ok so this is like a breaking change if we want to add in time stretching to an existing project which also uses pitch modulations?

                                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                  https://dhplugins.com/ | https://dcbreaks.com/
                                  London, UK

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

                                    @DanH no, you just can't use "normal" pitch modulation when timestretching is enabled for the given sampler module.

                                    DanHD 1 Reply Last reply Reply Quote 0
                                    • DanHD
                                      DanH @Christoph Hart
                                      last edited by

                                      @Christoph-Hart Ok thanks :)

                                      But for real-time pitch shifting this algo isn't implemented in Scriptnode is it?

                                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                      https://dhplugins.com/ | https://dcbreaks.com/
                                      London, UK

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

                                        @DanH there's a stretch player node IIRC.

                                        Oh, yeah realtime will never work, the latency is something like 100ms.

                                        DanHD 1 Reply Last reply Reply Quote 0
                                        • DanHD
                                          DanH @Christoph Hart
                                          last edited by

                                          @Christoph-Hart you mean the latency in this algo? I'll see if I can get rubberband up and running in that case

                                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                          https://dhplugins.com/ | https://dcbreaks.com/
                                          London, UK

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

                                            @DanH nope, has the same or higher latency and sounds worse. You can't timestretch an incoming audio streaming with less than 100ms latency.

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

                                            26

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.4k

                                            Posts