Oversampling on convolution reverb
-
Can you send me the IR in question? IIRC @hisefilo also had a certain impulse response that triggered some issues with the first frequency bin in the FFT.
-
@Christoph-Hart Choosing Ooura FFT this fixed that issue. I can remember
// oninit const var ConvolutionReverb1 = Synth.getEffect("Convolution Reverb1"); // Set the FFT type // 0 = best available // 1 = IPP // 2 = Apple Accelerate // 3 = Ooura FFT (slower fallback, but most portable) ConvolutionReverb1.setAttribute(ConvolutionReverb1.FFTType, 0);
-
Ah nice, so I didn't fix the IPP version back then :)
-
What about adding KISSFFT?
-
Is the convolution set to 0 " best available" as default ?
-
Verfied , have aliasing here as well....maybe !
Although not sure that is aliasing I am at 96k and that makes no difference, guess I need to try another export with the Ooura ?
I dont get that 20K spike when using the same impulse in other reverbs
-
@hisefilo Are you referring to the aliasing issue by using Ooura ?
What does slower fallback mean and would you recommend just using the Ooura even though IPP has been recommended up to now ?TESTING:
If i change the FFT type from 0, I lose the reverb and get some sort of room type doubling sound :)
Setting it back to zero does not help.Setting it to 3 seems to get rid of most of the "Aliasing" , but I also lose the reverb so....hehe
MORE TESTING
Sine wave through Reaper Reaverb using my Impulse.
Same Sine , same impulse through my plugin.
I dont think its impulse specific as all my 90 impulses look like that .
Vocals through Reaverb.
Vocals through my plug, same impulse.
-
@lalalandsynth no aliasing on 0oura but IPP
Don't know details about the comments on the code I posted. It's old @Christoph-Hart magic! :)
-
@hisefilo ok, but it does not seem to work for me , lose the reverb sound if I change the FFT mode.
I am going to test some more impulses , but I think its pretty clear that there is a problem.
My reverb plugin is just about ready :( -
Any chance to get a fix for this?
Was planning an impulse reverb as my first release. :) -
@lalalandsynth an oversampled convolution node on scriptnode?
-
@hisefilo Oh, that is possible , does it behave in a similar way in terms of loading impulses etc or do I have to do everything over ?
Will check it out.
-
@lalalandsynth Quick test and that seems to work to get rid of the aliasing!
8x oversampling, maybe even 2 x would be enough , now I just need to find out if I can replace those impulses on the fly or if the scriptnode impulse is meant to just sit there as an static impulse ?I suspect i cannot even get a reference for the Convolution Module in the scriptnode, is there some way to script the switching of impulses in scriptnode ?
I can export the Convolution module as ccp and make the changing of impulses public i.e create a meta node but unsure of how to include the oversampling in that ?
Man..if there was only a knob for the index.....sigh .
-
Check this out , seems to work .
https://forum.hise.audio/topic/2652/scriptnode-oversample-node-starting-at-4x-crashes-in-pc/13 -
BTW, what does the "multithread option" do on the Convolution reverb ?
Its not available on the Scriptnode Convolution so just wondering. -
It moves the convolution calculation into a background thread. It's not faster in anyway, but it won't increase the CPU usage of your audio thread, so if your main goal is to keep the CPU meter down, this is the key.
-
@lalalandsynth Any progress on the aliasing? I'm experiencing the same issue. Setting the FFTType to 3 fixes it mostly, but also crashes my plugin and removes the reverb when MultiThread is active, which defeats the whole purpose. This is really making the convolution almost unusable.
How have other people achieved good results with the convolution module so far? It seems almost too whack for production-ready plugins.
-
@Lunacy-Audio I have it working in Scriptnode wrapped in oversampling, no multithread option though.
Just using a delay with no feedback as the predelay.However , you cannot switch impulses without major clicks and pops.
So yeah , not ready for plugins in my opinion.
-
Hmm bummer. Convolution is SO important!
I just noticed that if I disable IPP in the HISE build, the artifacts go away and you can keep MultiThread active. I might try this option with my test users and see if any performance issues arise. -
@Casey-Kolb Just to follow up, are you able to fix this convolution issue?
Is disabling IPP helped?As I see, for this issue, the IR length doesn't matters.