Real Time Convolution

Deftoner's icon

Hello everyone!

I need to convolve an audio stream with a 1sec (=44100 samples) Impulse Response in Real Time.
I thought there should be externals or patchers on the web but im searching for hours now without satisfying results, so u guys are my last hope ;)

On my research i found two externals that should do the job (tconvolution~ and convolve~) but both are for Mac only and i am a windows user...
Arent there any externals for windows???

I also found this six year old post in the forum:
https://cycling74.com/forums/concolution-reverb-in-maxmsp
This leads to some pictures of a patcher that also should do the job:
http://www.pescadoo.net/annexe/max/convolver/pfft-convo-ovad.html
The problem is, that there are externals used that dont seem to be available any more.

My own idea would be to use the buffir~ object, but as it only works with 128 samples i would have to cascade very many of them. I'm not shure if my knowledge about convolution is good enough for this task... Is that even possible?

The other idea would be to do a not fft-based "real" convolution in gen. But again not enough samples available, so i would have to cascade again...

Can anyone help me out here?

Thanks,
Tobi

PS: I know that i can use a VST-Plugin for real time convolution, but i think that wont work in my case, because i create the IRs in my Max patcher and then load them into a buffer object. All the Plugins i know cant handle that...

j.y.bernier's icon

Updated convo abstractions (no externals) found at pescadoo.net:

conv~, convsub~ : FFT-based convo
pconv~, pconvsub~ : PFFT-based convo
overlap-add : overlap-add engine
C*~ : complex multiplication
convoverb: convo example
stereo-FIR: file loader

Let me know if something is missing.

3239.convpakage.zip
zip
pid's icon

that is a great share mr j.y.bernier

$Adam's icon

I've never tried them, but the HISS Tools also have a good reputation in doing these kind of things:

HTH,
Ádám

Deftoner's icon

Awesome, thank you! I'll try to get it work :)

Rodrigo's icon

The Alex Harker objects let you do 0 latency realtime convolution, so those are worth looking at.

j.y.bernier's icon

Thanks Siska, Rodrigo. The Harker objects implements a sectioned convolution. It is superior to mine since i'm limited to pfft's 64k limit and latency. I've tried it and it is really excellent for reverbs.

BTW, there is also a FFT-based binaural panner package by Jakob Hougaard Andersen here:
https://cycling74.com/tools/fft-based-binaural-panner/