A realtime GPU powered convolution VST3.
In a DAW of your choice you need to setup a track with 4 channels.
You should then send on channel 1 & 2 a stereo signal and on channel 3 & 4 a different stereo signal.
You will need a working CUDA compiler and cmake.
git clone https://github.com/zeloe/RTConvolver.git
cmake . -B build -G "Visual Studio 17 2022"
At each call of process block 4 blocks of audio get into plugin. Then each of these audio blocks is on CPU. These audio blocks are then moved on GPU. On GPU time a domain delay line is implemented for each block 1 and 2. By following this logic.
graph LR
First;
graph LR
Second-->First;
Another different time delay line is implemented on 3 and 4. By following this logic.
graph LR
First;
graph LR
First-->Second;
Then linear Convolution (without FFT) is done. Convolving block 1 with block 3 will produce left channel. Convolving block 2 with block 4 will produce right channel. These two blocks are then moved back to CPU and you can hear results. Using this method you can change e.g. your impulse response in realtime and use other effects on it.
There is a menu where you can choose how big your convolution size is in seconds.
- 0.5, 1.0, 2.0, 3.0, 4.0
This knob is used to scale output volume.
Sometimes there is some latency.
Doesn't properly work inside juce audio plugin host.
Currently supported buffersizes are 128 , 256 , 512 , 1024.
Offline rendering doesn't work.
How to use it : Video
Works in Reaper and Ableton 12.
NVIDIA GTX 1660 TI
Add proper kernels using maximum number of threads for each buffersize.
Find proper way to normalize output.