HISE Delay - delay time issue
-
Hi, I'm using the HISE Delay in a VI and the Delay time non temposync goes to 20000ms however it seems that beyond 1.5 seconds there's no difference in the heard delay time.
Thus, I was consulting with Claude who suggested that the Delay module's internal ring buffer is hardcoded at 65536 samples — and that's how much audio it can actually remember. To overcome this, it suggested we fork HISE and change the Delay buffer.
Before I go down such a path, is this a correct approach?
My general wish is to continue and flow with HISE code where if I make changes They are introduced to the whole HISE community of users. It does puzzle me why the maximal delay time is so different than what's displayed, to me it seems like a bug.Why would the HISE delay time knob reach values way longer than what it's capable of and effectively delay by much less?
Is the Delay internal buffer indeed 65536 samples? Where could have Claude found this information?
If the answer is yes, the buffer is hard coded and you can indeed fix this in the HISE code, should I fork HISE or should I introduce the fix in the main development branch?
Thanks for any attention on this.
-
@amirvinci said in HISE Delay - delay time issue:
Hi, I'm using the HISE Delay in a VI and the Delay time non temposync goes to 20000ms however it seems that beyond 1.5 seconds there's no difference in the heard delay time.
Thus, I was consulting with Claude who suggested that the Delay module's internal ring buffer is hardcoded at 65536 samples — and that's how much audio it can actually remember. To overcome this, it suggested we fork HISE and change the Delay buffer.
Before I go down such a path, is this a correct approach?No its not. There's a HISE definition you use to set the size of the delay buffer ( the limit) that HISE will use.
Hang on I will try and look it up....
Ok its
HISE_MAX_DELAY_TIME_SAMPLES= nnnnnnnnnn
"Set the max delay time for the hise delay line class in samples. It must be a power of two.
By default this means that the max delay time at 44kHz is ~1.5 seconds, so if you have long delay times from a tempo synced delay at 1/1, the delay time will get capped and the delay looses its synchronisation.
If that happens on your project, just raise that to a bigger power of two value (131072, 262144, 524288, 1048576) in the ExtraDefinitions field of your project settings."
So set it to a value in your projucer file and recompile HISE, AND in your project.
-
@Lindon Thanks so much. I assumed the forking suggestion wasn't the right move. It's so good to have such a great community with people like you and Dave H. providing expert support. I haven't yet communicated with Christoph but the experience using HISE as a newbie, truly shows how a community like this is a formidable asset

Thanks again.