I'm planning to release our realtime convolution engine (extracted from http://meatscience.net/pages/convolution-reverb) as a GPLed Pd external.
It currently accepts 4-channel ('true stereo'), two channel or mono impulse responses, with stereo or mono output. Performance is excellent if you have SSE3 and has a fallback in case you don't, and it aims for accuracy (basically that means multi-stage scaling to keep floats within healthy sizes).
by mjlib as part of pd-extended. convolve~ from mjlib appears to be a copy of pin~ ? so I think it could be taken? Maybe I mis-read the code. I've cc'ed mark who can probably clarify.
convolution against pink noise to normalize the gain to something sane
takes a little time
Features I'm considering (let me know if they sound useful): - load from an array instead of from disk (no gain normalization?) - It wouldn't be hard to enable MxN convolution if that floats somebody's boat.
I can compile/test on Mac & Linux, anyone up for helping me with Windows?
Would this be of interest for Pd-extended?
I'd love to build a granular convolution engine.... takes two
real-time signals, and extracts grains from one to convolve against the other. Anyone have ideas about this?
thanks all,
-Seth