Oh yeah, it was partitioned convolution we were talking about back then, now I remember. Cool, I wanna see if I can find the discussion here and get back to that. My main motivation is didactic, but I also think it's cool if things work out just find as Vanilla abstractions. So, next thing on my list for sure!
Anyway, I'm also working to add a live input to this patch, instead of just a sample playback, and also working on some other ideas.
I thought about saving this FFT operation too, but I was using the same core to do a convolution where both inputs were live inputs. I'm assuming that's the kind of convolution they have on supercollider anyway. They also have an UGen for a "fixed kernel" where they save the computation of one FFT like that, but it seems to be something else as the FFT is not derived from the impulse length.
I have already covered the spectral convolution and other related patches like the vocoder. It's cool to finally be able to get into this other (and more proper) convolution implementations as patches.
Well, I ramble
Cheers and a Happy 2014
2013/12/31, William Brent william.brent@gmail.com:
Seems to be working, nice! I still want to take a stab at making a vanilla patch for partitioned convolution. That way you can have really low latency I/O even if your impulse response is several seconds long. Not a problem to do in C as an external, and seeing your zero padding mask in the overlap 2 sub-patch makes me want to try it out.
PS: since the impulse response isn't changing, you could do the transform on it once ahead of time, store the results in tables, then tabreceive them for the convolution multiply. Save an FFT!
On Tue, Dec 31, 2013 at 9:58 AM, Alexandre Torres Porres porres@gmail.comwrote:
Sharing My New Year's CONVOLUTION
I'm doing the overlap-add method, as nicely described in http://www.dspguide.com/ch18.htm
Seems to be working like a charm! Not sure if anyone ever did this in a patch like this, but I know there are some externals around. I remember I discussed once with Brent on how to do this, by the way. What do you think Brent? Nailed it? Anyone else?
I'll include this soon in my tutorial patches, but for now you can check it at: https://drive.google.com/file/d/0B3AoiT0xk8fnNU9PRHdldVVFbU0/edit?usp=sharin...
it runs ok even with insanely huge FFT sizes, but I need to push the latency up as soon as it starts getting
FELIZ 2014
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- William Brent www.williambrent.com
“Great minds flock together” Conflations: conversational idiom for the 21st century
www.conflations.com