Re: Convolution with large filters?
Re: Convolution with large filters?
- Subject: Re: Convolution with large filters?
- From: Michael Tyson <email@hidden>
- Date: Sun, 12 Feb 2012 00:40:26 +0100
Richard, Nick, thank you both very much! That's brilliant, I'm very pleased that there's a way forward! I'll take a look.
(And you're most welcome with the Remote IO stuff, Nick - I'm glad to have been a help!)
Cheers again! Michael On 11 Feb 2012, at 21:54, Nikolai Collinsky wrote: Hi Michael,
Partitioned convolution is your friend here for longer impulse responses. You might have to write some convolution code yourself going via FFT calls.
For the minimal delay version of this, see: William G. Gardner. Efficient convolution without input-output delay. Journal of the Audio Engineering Society, 43(3):127–136, 1995.
There are open source (GNU GPL 3) C++ code examples amongst SuperCollider UGens (my partitioned convolution implementation PartConv, and Stefan Kersten's VEP with the minimal delay trick) that might give some guidance, though couldn't be directly used as source, but I'm sure you could write your own.
Thanks for the indirect iOS RemoteIO hints a few years back, via Aran Mulholland's tutorial posts and links to your code...
best, Nick
On 11 Feb 2012, at 21:02, Richard Dobson wrote: 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.
|
_______________________________________________
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