Re: Convolution with large filters?
Re: Convolution with large filters?
- Subject: Re: Convolution with large filters?
- From: Richard Dobson <email@hidden>
- Date: Sat, 11 Feb 2012 20:02:52 +0000
On 11/02/2012 19:38, Michael Tyson wrote:
Hello!
I'm putting together a convolution audio filter using Accelerate's
vDSP_conv, and I'm wondering about what practical filter limits I
should be expecting?
I'd like to use it with arbitrary impulse responses (for example, I'm
testing with a lovely, echoey hall impulse response, which is about 2
seconds in length).
I've noticed that filters with more than about 16k frames (0.4s) seem
to overwhelm the system, causing jittering.
< 0.4s filters are perfectly adequate for things like lowpass
filtering, but for nice resonance/natural decay effects, it's way too
short.
So, I'm wondering - is there a more appropriate way to use these
reasonably long impulse response filters? How does professional sound
engineering software handle this kind of thing?
For offline processing, those sorts of lengths are no problem for
vanilla convolution (but you may prefer double-precision as sizes get
very large). For real-time streaming in plugins, look up "partitioned
convolution". It is described in (among other places) "Numerical
recipes", and there are some open-source examples around, e.g.
"pconvolve" in Csound. It is called partitioned convolution to ensure it
was not called "convoluted convolution", which would however describe it
very well.
Richard Dobson
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden