Hi Jamie, Just scanned the source... big difference would be performance, and if you're picky (you have to be pretty picky, honestly), some difference in accuracy due to floating point's reduced precision at large/small values. Convolution is still expensive enough for performance to really matter.
the biggies: - partconv implements a single fixed block size, but freq domain convolution is faster by far on bigger blocks (peak on a core duo is near 4k sample blocks). implementing growing block sizes makes a big difference to low latency performance (e.g. 64 64 128 128 256 256 512 512 1024 1024 2048 2048 4096 4096), as you can get low latency while most of your convolutions operating on the ideal high-performance block size. - vectorization (sse/altivec) of partconv would give a 2-3.5x performance boost -seth On Tue, Apr 5, 2011 at 8:26 AM, Jamie Bullock <[email protected]> wrote: > > Hi Seth, > > > On 5 Apr 2011, at 01:54, Seth Nickell wrote: > >> I'm planning to release our realtime convolution engine (extracted >> from http://meatscience.net/pages/convolution-reverb) as a GPLed Pd >> external. >> > > What is the advantage of this over Ben Saylor's [partconv~] external, which > provides partitioned convolution? > > Jamie > > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
