Timestretching/Pitchshifting
-
@johnmike I didn't try that. I'll give it a go now
-
@johnmike Still appears to work
https://e.pcloud.link/publink/show?code=XZgGk2ZlqVQ1o3uA67uRu2vgfRjCjoGlBCk
Here's the second file: https://e.pcloud.link/publink/show?code=XZxGk2ZLwkpbCMFaJmA0LLPL0NOQF8KSH1y
In the video the file on the left (sampler 1) is 120BPM, the one on the right is 100BPM. Also note that the BPM values I set in the settings panel are out by 10BPM (this is a bug on Linux, so 90BPM in the settings panel is actually 100BPM).
I mapped the samples to different keys in different samples. NumQuarters still set to 0.
At 100BPM the sample on the right plays back at normal speed and the one on the left is slowed. When I set the tempo to 120BPM the one on the left plays at normal speed and the one on the right is sped up.
-
@d-healey interesting…maybe it’s a Mac bug…I will try again once I get home this evening to see…maybe I need a fresh session…maybe some code or something in my session is messing with it(I don’t see how but maybe…)i did replicate an older session to copy over some code I wanted to use in this project…I’ll start from scratch and see what I come up with
-
@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.