Connecting Rubberband Library for use in HISE
-
@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....
-
@Christoph-Hart this resulted in an error:
Reference to 'Point' is ambiguous
seemingly because there is a juce::Point<ValueType> 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.
-
@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
-
This post is deleted! -
@langermarc19 Did you ever manage to get this working?
-
@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.
-
@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.
-
-
@d-healey Yep not what I'm after for this but thanks (unless it can be repurposed for SN?)
-
-
@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...?
-
@Lindon That's the idea
-
@d-healey so where are the pitch options? Can only see the timestretching options in the sampler voice settings
-
@DanH just enable timestretching and add a pitch modulator.
-
@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?
-
@DanH no, you just can't use "normal" pitch modulation when timestretching is enabled for the given sampler module.
-
@Christoph-Hart Ok thanks :)
But for real-time pitch shifting this algo isn't implemented in Scriptnode is it?
-
@DanH there's a stretch player node IIRC.
Oh, yeah realtime will never work, the latency is something like 100ms.
-
@Christoph-Hart you mean the latency in this algo? I'll see if I can get rubberband up and running in that case
-
@DanH nope, has the same or higher latency and sounds worse. You can't timestretch an incoming audio streaming with less than 100ms latency.