Hi, I'm attempting to figure out how a different block size in a subpatch
promotes latency. The parent is actually fixed at a block of 64 as it would
be reasonable, and then I'm trying bigger block sizes inside a subpatch.
What I can detect is that the delay is always blocksize - 64. So yeah, a
block of 64 or smaller promote no latency, but it increases to 64 samples
for a 128 block, 192 for 256 block and so on... But I don't understand why
as my intuition was that the latency should be the whole block of audio,
and not that minus 64! Plus, I also find something weird about how it
works... keep reading.
As the test signal, I have a sample count that starts counting from 1. When
it receives a bang, the count gets reset to 1 and restarts. With that, I
can print the input/output plus the subpatch block and check them out.
See the attached test file. It has a block of 128 inside the subpatch. When
it is loaded, the subpatch waits 64 samples filled with zeros before it
receives the sample count signal. You can click on the bang and redo the
test and you may find that the subpatch can behave in the same way, where
the first half of samples have not restarted the count yet *OR* you may
have been lucky enough to sync them up and find that the subpatch's block
actually starts counting from 1 as well!!!
Weird thing is that, even so, the output gets still delayed somehow.
I'm not sure if I can make myself clear or that you follow me, but the
bottom line is that I'm still quite confused on how different block sizes
behave in Pd!
Where can I read more about this, has someone done similar tests and have
figured this out completely?
Thanks