Hi all, I got a problem using block~, and hope someone here could help
me to understand what's going on...
My goal was to do overlapp/add processing using FFT in an external...
Let's consider a simplest problem:
I declared a subpatch with one inlet and one outlet.
inside that subpatch, I put a block object using the following
parameters: block_size and 2 for the overlap, and tried different
values of block size (32, 64, 128, 256, 512).
Then, I connect the inlet to a hand made external, and connect its
outlet to the outlet of the subpatch.
Test1:
the external does not take the input signal into acount, and output a
triangular window of size block_size.
When I look at the output of the subpatch, (once the overlapping has
been done using the pd mechanisms), I get a constant signal whose
value is 1, as expected.
Test2:
The external output the input signal multiplied by the triangular
window. Since the triangular window is used, the output should be
exactly the input signal when considering the outlet of the subpatch.
It works for block sizes >= 128 . It fail when the block sizes are 64
or 32 ...
Does anyone have an explanation for that behaviour?? Is it related to
the fact that the main patch using my overlapp/add subpatch has a
block size of 64 (it seems that I can't change that size, since it
imply conflicts with the dac~ component...)?
NB: I'm using Pd version 0.40.3-extended-20080721 on a Windows Vista.
--
David Doukhan