[PD] Fast convolution of 2 tables using FFT

JF saintidle at yahoo.com
Sun Jan 24 22:01:09 CET 2016


Hi all,

I decided to implement my own patch that does frequency domain convolution of two tables.

Have a look at the FFTTry02Long03.pd file and you will need the attached abstractions and 
iem_tab [tab_complex_mul] (in the path for vanilla or just imported with pd-extended).

It's very fast compared to iem_tab's [tab_conv] but the output doesn't exactly match, there is 
some error. It's small and I'm thinking it's because of the blocksize being very large to fft~ the 
tables all in one go. The ifft~ needs a very large division (blocksize) to normalise the gains 
so I'm presuming there's some number precision funniness going on here? If anyone could 
chime in on this?

Any feedback/improvement ideas would be greatly appreciated.

Thanks in advance,
John.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FFTTry02Long03.pd
Type: application/octet-stream
Size: 3297 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160124/d0388de3/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jTabConv.pd
Type: application/octet-stream
Size: 5809 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160124/d0388de3/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jArraySize.pd
Type: application/octet-stream
Size: 667 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160124/d0388de3/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jLog.pd
Type: application/octet-stream
Size: 511 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160124/d0388de3/attachment-0003.obj>


More information about the Pd-list mailing list