Hi Seth,
In terms of feature requests, since you are doing all the work already, it would be nice to have 1x4 mode, meaning one input ->4 convolutions->4 outputs. That would be great for ambisonic (b-format) 4-channel room impulse responses.
Regards, Archontis
On 4/5/11 3:54 AM, 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.
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).
- I'd love to swipe the convolve~ external name, currently installed
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.
- Anyone have requests for features/api? Its currently simplistic:
- takes a "read FILENAME" message, loads the file, does a test
convolution against pink noise to normalize the gain to something sane - caches the last N impulse responses, as the test convolution takes a little time - allows setting the cache size with a "cachesize N" message - disable normalization with "normalize 0" or "normalize 1"
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
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list