Re: convolution in gen again!

Forums > Gen > convolution in gen again!
Jan 13 2013 | 7:19 am

Hi there —

I played around with rebuilding buffir~ in gen~ a month or two ago. I was filling around with peek / poke pairs like that, then it dawned on me that the input indexing is the same as what a delay line needs, so it turns out to be a lot simpler just by using a delay read inside a for loop. The patcher I’ve been working on is below. It sounds a bit rough sometimes though, I’m not 100% sure why.

The usual caveats apply: a time-domain convolution (which is what buffir~ does) only makes sense for convolution sizes similar to or less than the current block size, beyond that a partitioned convolution will perform significantly better. Anything sexy like convolution reverb is not going to work well without partitioning. But the time-domain only method (buffir~) works ok for convolving with finite impulse responses around or less than 100 samples.

But exposing time-domain convolution in gen~ does open up some interesting possibilites for experimentation…

-- Pasted Max Patch, click to expand. --

  1. gen.buffir.maxpat

Subscribe to the Cycling ’74 Weekly Newsletter

Let us tell you about notable Max projects, obscure facts, and creative media artists of all kinds.

* indicates required