Time domain convolution for reverberating with impulse responses

Luca's icon

Hello everybody,
I need to reverberate a signal with the technique of convolving it with an impulse response. I would like to do it in the time domain because the technique with the convolution using the FFT can reach high latency levels ;-( and I need a really really really low latency.

Indeed I need for some real-time psychoacoustic experiments a realistic reverb of different rooms, as much similar to the real reverber as possible.
I want to use this technique to understand if and how subjects are able to recognize the dimensions of the room synthesized when they interact with a certain kinds of things...

I tried the gigaverb~ external but I think that for my purposes it does not fit well...I need to simulate in a more realistic way the dimensions of the rooms.

Any suggestion?

Thanks in advance

Cheers

Luca

Zh's icon

your post doesn't indicate why you need to use maxMsp. what's wrong with Space Designer from Logic Pro? that is impressively real-timey, and you can load your own impulse response files. if you need to make the sounds in max, use e.g. soundflower to send them across...
n

mudang's icon

IMHO, doing time domain convolution in max without writing an dedicated external would be way too heavy on the cpu.
You would have to use a vector size of one sample, "trigger" the IR on _every_ sample and mix it all together....

You could try the karateconv~ external, although last time i checked it was quite buggy, when changing things while dsp is on (i think it was ported from pd).
You can get it here:http://www.music.mcgill.ca/~nils/classes/MUMT605/

good luck,
jan.

pgk's icon

I agree with mudang on the cpu heavyness...

Now on frequency versus time domain convolution...

From my understanding, doing it in time domain, especially with large impulse responses, is really heavy on cpu cycles, since it involves a lot of coefficient calculations plus a lot of 1-sample delay blocks.
And let us not forget: Convolution in the time domain == multiplication in the Frequency domain. So ,as far as efficiency is
concerned (thanks FFT), frequency domain is a better candidate.

But let me just point that if the impulse response is really small, maybe it could be efficient in the Time domain.

Indeed ,as Zh indicated, you could use another program altogether, like SoundHack, Peak, Audition etc... or even a vst plugin. There are even free ones that do the job adequately.

cheers!

Luca's icon

Hello,
thanks everybody for the answers!

@pgk: you mentioned that there are free plugins or free vst able to do the convolution with an impulse response (in the time domani?).

Could you please suggest me one of them?

A free VST will be very appreciated as I have not found it yet

Thanks a lot

Cheers

Luca

Roger's icon

HI there

I found a nice AU convolver there

cheers, Roger

Luca's icon

Hello Roger,
unfortunately when I try to downlad the convolver vst the link does not work...

Any other suggestion will be really appreciated

Regards

Luca

Roger's icon

Hi Luca

I'l have a bit more of a look around but try SonicBirth & have a bit more of a look around in don'tcrack, there is lots of nice stuff

best, Roger

Luca's icon

Thanks Roger!

pgk's icon

also check this!
sorry for the delay, I just logged in...

Luca's icon

Hello,
yes I knew it, but if I am not wrong it is not freeware...

Anyway thanks

Cheers

Luca

pgk's icon

>Hello,
>yes I knew it, but if I am not wrong it is not freeware...

well, good news is that
there is a freeware version available on the site, in addition to
the shareware version!

cheers!

Luca's icon

Yes sorry I forgot to tell that the version for Mac is not free ;-(

Best

Luca