View Single Post
Old 04-05-2021, 02:38 PM   #10
Human being with feelings
Join Date: Oct 2020
Posts: 7

I'm pretty sure the issue is that the Raspberry Pi is only fast enough to do a WDL_ConvolutionEngine_Div of a certain size before it can no longer handle the larger FFT chunks in time for a 32-sample buffer.

Forcing maxfft_size to 2048 in WDL_ConvolutionEngine_Thread::SetImpulse() gives me a workable WDL_ConvolutionEngine_Div, but that makes for a smaller 4096 FFT size for the threaded convolution, so it is less efficient. Still, it lets me get stable 1-second convolutions at a 64-sample buffer, which is an improvement. Much past 1 seconds, though, and the threaded convolution gets too expensive.

Does the threaded convolution's FFT size have to be twice the realtime WDL_ConvolutionEngine_Div size? I've tried making it a different (larger) size, but the code stopped working...
ladron is offline   Reply With Quote