Warping Sampler
-
@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? :)
-
@iamlamprey said in Warping Sampler:
Is this a new thing,
Nope. https://docs.hise.audio/scriptnode/manual/third_party.html
-
@d-healey Oh wild, time to study
-
You can do a kind of time stretching with the granular node.
Just modulate the position with a tempo synced ramp and set a highish grain size. Obviously it's far from transparent, but it works. -
@modularsamples One way of doing time stretch in the audio realm is with granular processing. But I think there was also a basic time stretcher scriptnode example by @Christoph-Hart floating around in the forum somewhere.
-
@UrsBollhalder I've not come across that example, I'll have to dig around.
Another weird, not time-stretching thing you can do is clock the pitch. The idea comes from one of the modes in Expert Sleepers Disting. Tempo Sync is converted From ms to frequency and then is patched to the pitch of a file player/granular node. Now when you increase tempo, the pitch goes up with it.
-
This is the pitch shifter demo, not sure if it's what Urs was thinking of. I don't know if it can be used for time warping either.
https://github.com/christophhart/hise_tutorial/tree/master/PitchShifting