Timestretching/Pitchshifting
-
@d-healey soooo upon opening a fresh session with the loops everything is indeed syncing perfect across multiple samplers...but everything falls apart when I open up the old session with the same loops...so that means something maybe in my coding is messing with the tempo sync possibly...im gonna work on systematically deleting things until I figure out the culprit...thanks for testing for me!
-
@d-healey back again...this time I am having the bpm issue you mentioned...but seems as tho as long as im between 85-134BPM everything plays fine...until I go 135 and above or 85 and below it falls apart...see vid
-
The processorID is not working for the timestretching modes..
-
@BWSounds Could you explain in more detail?
-
@d-healey
isn't this suppose to control the modes? -
@BWSounds Ah now I understand. I confirm it doesn't work here either.
-
@d-healey
is it possible code this function? -
This would be the scripting for it
const var Sampler1 = Synth.getSampler("Sampler1"); inline function onKnob1Control(component, value) { Sampler1.setAttribute(Sampler1.Timestretching, value); }; Content.getComponent("Knob1").setControlCallback(onKnob1Control);
But it returns an error that implies the attribute hasn't been setup in the HISE source. I'll take a look and see if it's a simple fix I can do.
-
@d-healey
Ahh ok makes sense now, thank you sir! -
Oh actually I think you're meant to do it through the JSON thingy - https://forum.hise.audio/topic/7303/timestretching-pitchshifting/77?_=1692482537361
But then I guess it shouldn't show up as an option in the parameter ID dropdown
-
@d-healey
I can script the ratio but the timestretch mode still does nothing. -
You have to use the names of the modes not a number.
I took this from the docs - https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching
HiseSnippet 1325.3ocyX8+aSbCE2WacGIvPCDSZ+xjNEseHHwpRfBLooIBMsEUAkF0qflDBgbuyI0q9rOY6qqYS7+z9SX+Iw+AaO66tbNgnRZFvH+PUdO+9xG+7yedNcfRFS0ZoBEz3nwYTTv0vQiElS5eBgIP6sMJ3awFVJUaTTS7I6KSnGABnsFmQzZZBJHX0mXMMnwZH2m28nsHbhHlVqBgdojESeFKkYp0Nn2SYb9tDHhPBp0uYu8hkh9RtLGf0p3NnLR7ojQzmSrlsBFEr9NILiTEYHFpFrYKYx3nSj+tnv9Wxzri4TqPWTDDnB0n9mv3ICp1xZDJ.Ont.rZQA3V38YIrI5qKDeiagvZO7qAAqbQPp6k.RAdPZsBHcCbTrhkYpWwhmqh2SXnpgDnT6CkBaQqzdEbeIXgvrQJ4T5tJPXhGsePmN2ID9ys+4lMgxs1DdFQEFQRy3TU2veIz0FrwHpoTW6VUK1x5CSvYBZ3vbQrgIEgRwSExi6ZynRxaGKSyjBH22AhKOmd6l+YyFbYLgGJO92rguLX1LbTcC1AY1noaConz7TnkSCN7pVayzDnFlz5NgsbMTPwVYrR1.7RhhQDEhTH4.9iAaeMDHHiaX6bgn3h1qbPBVoYiIvPOWX.dBH4sfkUkR.t8q1asa41ysts06xcdeBmeLzu1d5BBDEuR0ykF5Ah1thRy21Lb1kFNbtqUFK6gw7V1he0E4XaQd5wTk+Qh0PnOa5l20Wrl23hRhmgRwdBl4fLZo7tRdhsoz982uUGUVSsM8kHDL03Z4udYKeDmkPUHFDjuB6JnHG38IWPuXusIFRUXfHBYIipLL6lIXa5YPuRwMoF3so5SMxLmskGi.o2GLomCbEAWM.gFa+xtPR0lw1Rx5NCPorjDNcfTyrkbe1PsglEw9CvTLt6Fc.KE9fOkbds3U5oyGNjctikaHimBsirr8RAxOTvMwuPSCSnCI4bSn9THNvUvSoIGIc1idehCfxRljyIlo4wrD1kKXAqO4gkfP.ahw9agKA4VmKjbaQg3MvCXESalCFWYNXDN6+TfwxQBeMdmgCowlZ.tFd2ecY4+W7z+8Eo+l3HfUh.MNiJoqbXnIth75iwz3rEdZ7.EkKIIE8zUl8281B5bopo09W8bo5woxbwT4pD4GRynDikZ1+NvgG9DkLOaVud2ibMEGo.1UnT3uvABJTqM96w9JoVOD1NtXo8WZPtZjsVUq4P5YTkdZcOOOENuEBJWauxGX4Yz1QNFV79D3d449V6xRmiHtyX3xnSt6Lx2cF46Mi7lyHe+YjevLxOrVtnftOIy1YXehzLT5WYwnzg.Lf.aYOK2hMZRvKzLM8gmoSp4Nb48frHpw.GYZOamyKeV+S0iwVawtL9AlV8kO85TucrQEFiX1SucDmAWaAMVLdSXLnaLRk1ooP1WJjYmHEr3ouj.M8iFQU9XetanGaLvczZM2p2gTNkn8tk+C8dF77QhZ569WpZwk+czy8756vEvMzx6E9e4b6yZa1ENhb0EZD4Gc7t7iK+rV5td4fyP2ue3K7y4qgcT8g1Iy+eA0Ck4V56podXXzXD7bfXp+.xUrCcKj6Xks.JhJRbB+C7obwtUSSsK1sZQTbUnf8V42cOpOXUpv8q9ru7iCyo49szdOW9yBJSIwJ4ahK9wJVrdEmF.kB2+bhF38sxgS9UJXbG2a9SXuIN1dQ3G6hPy2m6tD9bukvmMWBet+R3yCVBed3R3yOcg9XelviyMxzBRRPwfcJZrB1YRi0pn+E7KkaDE
-
@d-healey
got it, I have something like that earlier but I had numbers instead of the actual names... I appreciate your help -
@BWSounds Yeah I tried numbers first as well :)
-
@d-healey I tried, but it's not working... I tried with Tonality = 0.01, it changes the pitch but impossible to define which one.
-
@Lumi283 I just looked at the docs and I don't think the tonality parameter does what you want - https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching
Looks like you can just use any standard pitch modulator as long as timestretching is enabled for the sampler
If the timestretching is enabled, any pitch modulation (using the modulation or root note detune) will not change the pitch using resampling but with the pitch transposition of the timestretch algorithm which retains the duration of the sample.
-
@Christoph-Hart Did you say there was a way to get a stretch ratio below 50%?Oh never mind, I can just set it in the function and it works.
-
@d-healey Can't get timestretch working properly on my end, I have three samplers and setting 2x timevariant timestretch to all three causes a lot of audio issues and clips, keeping only one sampler activated works better, but theres still audio issues, doesnt seem to be really cpu since my task manager cpu chart shows some resources left... the video shows the issues:
In the vid, the first part is showing the timestretch enabled on all three samplers with half and double speed stretches. Then I turn off the first two samplers so that only one is on half speed stretching and it still makes some audio issues. Any ideas?
-
@Casmat I can't assess what's going on behind the scenes in that video. Make a test project, add 3 samples, load some samples, play around with the settings in the sampler module UI. See what result you get. If it works without issue then the problem is caused by something else in your main project.
Are you using IPP?
-
@d-healey yup, test project does the same, ipp is enabled and just recompiled today..