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.