HISE Logo Forum
    • Categories
    • Register
    • Login

    So close to Rubberband-ing

    Scheduled Pinned Locked Moved General Questions
    16 Posts 7 Posters 315 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.
    • iamlampreyI
      iamlamprey
      last edited by

      Okay so (at least) one of the issues is that RB can't process in-place or on an alias, it needs a separate input and output vector.

      dyn<float> outPtrs;
      
      template <typename T> void process(T& data)
      	{
      		if (!rb) return; // safety check in case the rb object isn't constructed yet
      
      		auto ptrs = data.getRawDataPointers(); // RB needs pointers
      		outPtrs.referTo(data, data.size()); // dyn confuses me		
      
      		rb->shift(ptrs, &&outPtrs); // ??? 
      
      		data = outPtrs;		
      	}
      

      @Christoph-Hart do you have any suggestions for creating a blank vector the same size as the one from getRawDataPointers() for RB? I assume memcpy() isn't ideal in the audio thread

      1 Reply Last reply Reply Quote 0
      • iamlampreyI
        iamlamprey
        last edited by

        (laughs in thall)

        Writeup soon 🙂

        HISEnbergH ulrikU ChazroxC 3 Replies Last reply Reply Quote 5
        • HISEnbergH
          HISEnberg @iamlamprey
          last edited by

          @iamlamprey Amazing work, it sounds pretty great! Excited to test the results myself 😊

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

            @iamlamprey Oh so close :) very exciting. Is it the sort of thing where it's easy to swap out one algorithm for another? I'm thinking of trying the Bungee library.

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

            iamlampreyI 1 Reply Last reply Reply Quote 1
            • iamlampreyI
              iamlamprey @d.healey
              last edited by

              @d-healey The actual DSP in the third-party node is pretty simple, the main stuff was getting all of the includes to work together (and using the right class in RB that doesn't need 2 separate buffers)

              The RB time-stretching stuff might also be possible using this third-party node and just swapping a few things out, I don't want to give out false hope just yet but

              resonantR 1 Reply Last reply Reply Quote 2
              • ulrikU
                ulrik @iamlamprey
                last edited by

                @iamlamprey Nice work!

                Hise Develop branch
                MacOs 15.3.1, Xcode 16.2
                http://musikboden.se

                1 Reply Last reply Reply Quote 1
                • ChazroxC
                  Chazrox @iamlamprey
                  last edited by

                  @iamlamprey Holy Duck you got it!!!!

                  via GIPHY

                  1 Reply Last reply Reply Quote 1
                  • resonantR
                    resonant @iamlamprey
                    last edited by

                    @iamlamprey RB is not compatible with commercial projects, right? It is licensed as GPL

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

                      @resonant said in So close to Rubberband-ing:

                      RB is not compatible with commercial projects, right? It is licensed as GPL

                      You can sell GPL software. What you can't do is use it in proprietary software (commercial or not).

                      You can buy a license to use RubberBand in proprietary projects though - https://breakfastquay.com/technology/license.html

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

                      1 Reply Last reply Reply Quote 2
                      • iamlampreyI
                        iamlamprey
                        last edited by

                        Yeah the Rubberband license is pretty...

                        ...flexible. 😎

                        1 Reply Last reply Reply Quote 1
                        • Seth MunsonS
                          Seth Munson @iamlamprey
                          last edited by

                          @iamlamprey said in So close to Rubberband-ing:

                          @Seth-Munson is that Seth Munson from the Chango forum? 🤠

                          Oh no I've been found out haha

                          congrats on getting it working!

                          audio nerd - billboard #1 mastering engineer

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

                          24

                          Online

                          1.9k

                          Users

                          12.3k

                          Topics

                          107.2k

                          Posts