Viva la Convolution

FFT based Convolution Reverb processor

(30 Votes)
4.1.1 (Updated 2 months ago)
March 08, 2012
Reaktor 5 or lower
Effect Other


4.1.1: bugfix. I found some bugs in the zero latency version, one of which applied to this version. It's hardly noticable here because the FFT's are so much longer here, but better out than in as they say!

New in version 4:

*You can choose different convolution lengths form the front panel (watch your cpu on the longer ones).
*Visual indicators for start and end of the active Impulse response.
*'scale' control lets you tweak the scale of the Impulse response.
*start offset control lets you chop out the start of the impulse - can be useful to get rid of the initial transient.
*pre-delay, add some delay before the reverb kicks in.
*speaker protect - the initialization caused nasty loud noises in some situations - there is now a fade in of the audio on reset.

New in version 3:
* Significant cpu optimization.
something like 30% improvement at the expense of increased latency (about 12% more)
* Two separate versions. Use the 'short' one unless the tail is audibly truncated on longer Impulse responses, in which case load up the 'long' version (it uses more cpu).
* Automatic latency compensation. The delay is calculated automatically, and the through signal delayed. This means no fiddling with knobs to synch up dry and wet sounds.


Convolution can be useful for various things, but it's most often used for reverbs. You need 'Impulse Response' files. There are lots of free ones on the web - look for ones in .wav format. Some are great, some not so - have fun :)

Some things to remember:
This effect causes a big cpu load.
The latency is also fairly high.


...are now on the front panel of the unit.

Thanks to Salamanderanagram for lots of positive input and discussion.
Thanks also to Robin Davies, whithout his awesome FFT library, this would not be possible.



2 months ago
Oh, that's cool, pretty usefull stuff here.
2 months ago
Wonderful fast Colin. Thank you.
Colin Brown
11 months ago
@Jason, I have implemented a zero latency convolution engine, however due to limitations of Reaktor in terms of accessing processor optimizations, it can only process very short impulses. I used it in a cab simulator, and Chet Singer used it in his 'Serenade' ensemble - although I think that version has a bug in it :-o.
Jason Chatzilias
1 year ago
i love this.. i was wondering if anyone has tackled a zero-latency convolution engine? also since Native Instruments has those in their products it would be a pretty cool thing to have as a primary module or in core. j 0=0
Marcel Stark
1 year ago
great work - 1001 thx.
Chet Singer
7 years ago
This is really really cool. I've got uses for this. Bravo!
7 years ago
In 2008 I get SIR2, before that time there are a lot of experiments and links. I checked them .. missed in the web .. and set this collection to ARKUL for a week. I don't create them, it's only a collection.
Colin Brown
7 years ago
Thanks Bernd, This is an excellent selection of impulses. Some are too long for this Reaktor implementation, but many of them are perfect - high quality. What are the IRCAM ones for ?
7 years ago
The cloud is filled up with IR wave files - link on ARKUL
Fletcher Kaufman
7 years ago
Very very nice! thank you!
7 years ago
At last! A true piece of engineering, excellent work.
7 years ago
There is a Voxengor VST with special features. I will fill the cloud today in the noon for temp a week or so, link published on ARKUL
Jedinhopy Xelon
7 years ago
Colin Brown. Will you add these features? 1. Time stretching the impulse 2. Pitch shift the impulse 3. Control impulse with decay envelope 4. Pitch LFO
7 years ago
Colin, I made some test with different IR's from my collection. It works on 44.1 kHz - no overloads. I will set a link to my cloud on ARKUL if it's uploaded - the collection of my Impulse Respond wave files