Hey, I'm building a guitar rhythm loop based plugin and I cannot seem to get the timestretching to sound good. Even with 1-2% stretch it sounds smeared and in some cases at 0% it still sounds smeared with TempoSynced mode activated.
I tried setting NumQuarters (16 for a 4 bar loop at 140 BPM) and SourceBPM via getTimestretchOptions/setTimestretchOptions and it doesn't seem to make any audible difference.
My setup:
HISE 4.1.0 (commit a29ff452)
4 bar loop at 140 BPM, 4 bars
TempoSynced mode
NumQuarters = 16, SourceBPM = 140
Tested at both 44.1k and 48k sample rates — same artifacts at both
Here is my current script:
javascriptonInit
{
const var Sampler1 = Synth.getSampler("RTM_1_140");
const var obj = Sampler1.getTimestretchOptions();
obj.SourceBPM = 140;
obj.NumQuarters = 16;
Sampler1.setTimestretchOptions(obj);
}
A few specific questions:
Is the smearing at 0% stretch a known issue or am I doing something wrong in my setup?
Are there any TimestretchOptions properties beyond what's documented that might help for rhythmic/percussive material like guitar chugs and rhythm loops?
Is there a recommended approach for loop players specifically, or is the sampler module not the right tool for this use case?
Has anyone successfully integrated Elastique or Rubber Band v3 into HISE and is there any existing code or PR for this?
I really just need clean stretch of about 10 BPM up and down from the source tempo. Any help appreciated, thanks!