Warping Sampler
-
@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 -
@d-healey Yeah. Actually that’s the one I think!
-
@d-healey this is more of a time stretcher, no? the tempo changes while the pitch doesnt.
is it possible to achieve the inverse of this where the tempo stays the same but the actual pitch is modified? really struggling with how to actually implement rubber band.
-
@argon The thing I linked to is a pitch shifter. I've never used it though so don't know any details.
-
@d-healey gotcha thanks for the reply. ive tested it, it does what i described. it works quite well but doesnt modify pitch. time only.
edit: needed to add the SNEX module for pitch hah, whoops
-
@argon can you share some example how you implemented external dsp?
-
@d-healey said in Warping Sampler:
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/PitchShiftingIt doesn't sound smooth, I tried it once it was published, and it has so many artifacts :/
-
@Natan Yeah. You could probably improve upon it, DSP-wise… but I don’t think that’s really the place to do it. It will be too costly for the CPU. I think finding a way to implement Rubberband is the only way forward here.
-
@parabuh ive only used the example project for pitch shifting
-
@Christoph-Hart said in Warping Sampler:
@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.@UrsBollhalder this is how ^ but i think im too much of a newb to figure it out. surely some of the brilliant minds here have made it work though ?