Warping Sampler
-
Hello,
Do you think it's possible to create a sampler that warp/time stretch Samples on the Tempo (sync with the daw).For example, i would like to do that sampler plugin :
- Differents vocals and drum loops with their own tempo on each note of the sampler
- The sampler change lenght without changing the pitch (warping) sync to the tempo of the daw.
Thanks for you help
-
@myhomestudio - there (currnetly) is no time stretching in HISE
-
@Lindon said in Warping Sampler:
@myhomestudio - there (currnetly) is no time stretching in HISE
Keyword "currently"... or rather "currnetly"...
But trying to say that hopefully soon we'll have some time-stretching capabilities available in HISE 3.0!
-
Ok perfect, waiting for V3, thx
-
Don't hold your breath for timestretching, it won't appear within the next 6+ months...
-
@Christoph-Hart I'm sure it's a gargantuan task (but would be so awesome!)
We might have one of our JUCE devs add this for us. Maybe if you give us some guidance we can add it in a few months and merge into the public master repo later this year. I'm sure there are complications regarding which time stretching algorithm to use and how to weave it into the sampler component.
-
@Casey-Kolb said in Warping Sampler:
which time stretching algorithm to use
I'm guessing that Rubberband is the only one that is both decent quality and suitable for HISE in terms of licensing.
-
@Casey-Kolb Is this something you continued to work on?
-
This post is deleted! -
The Faust library has a realtime pitch-shifter, does anyone know if it has any other time-stretchy stuff? If it does, it's probably best to wait for the faust update before diving headfirst into trying to implement another 3rd party library
-
@iamlamprey No I don‘t think that Faust will be helpful here. Rubberband is the way to go for now.
-
@Christoph-Hart Would we have to implement Rubber band in the additional source code folder in our projects or would we have to code it into the HISE source code and re-build it?
-
@KimiA I'll integrate it at some point in the future into HISE, but if you want to use it now, the easiest way would be to create a ThirdParty node, put the Rubberband code into
DspNetworks/ThirdParty/src
and write a custom file player node that uses the Rubberband API for pitch changes. Then you can export the dll and you can develop the C++ node without having to recompile HISE as it will be loaded as dll like compiled DSPNetworks. -
@Christoph-Hart Sounds great! I'll give it a shot.
-
@KimiA Let me know how it goes.
You can take a look at how Tracktion Engine integrates Rubberband for reference.
-
@Christoph-Hart It's a little confusing to wrap my head around but it's starting to make sense!
-
@Christoph-Hart Thoughts on Elastique? I think we'd prefer that.
-
@Casey-Kolb The licensing isn't compatible with HISE but if you were to license it independently there is nothing preventing you from using it. When I last spoke with Christoph about it I think the idea was to make the HISE interface appear fairly library agnostic so that you could choose which pitch/time stretching library to use but by default HISE would use Rubberband because of the favorable license. Similar to how you can choose which FFT library to use.
-
@d-healey Ah yes, that's right. I forgot the licensing issue. Makes sense!
-
@Christoph-Hart What are thirdparty nodes? Is this a new thing, and can they be used to add any sort of 3rd party stuff ie Tensorflow? :)