Cabbage Logo
Back to Cabbage Site

Phase problems with convolution opcodes?

Hi everyone,

I try to get a clean phase when using for example the example code from Iain
called ConvolutionReverb.csd in the examples of Cabbage.

What I did (using cabbage 2.8.0 under Windows):
1.) exported it to vst3 and vst.dll
2.) loaded it up into pluginDoctor to see measure phase
3.) loaded a simple dirac file (which should be free of any artifacts) into the plugin

You can find such simple diracs here:

Here is the result. The phase is really messed up, and I don’t know why.
Since I can see the Code tries to overcome latency problems between in and out, this doesn’t seems to work well, or something else is wrong. I get the same result with the liveconv opcode.

Does anyone have an idea what happens? How could I fix that?

Here is another picture showing the IR after the processing relating to time, what I dont get I dont mix it with the input, so there should be no mixture which might introduce phase issues as well.

The dirac file doesn’t introduce any latency or phase:

thanks so far!


@Oeyvind, does this sound like it could be an issue with the PDC added in hosts? @rootnote, can you try adding latency(-1) to the line where you create your form? This will cause Cabbage to do ‘in-place’ processing, so there shouldn’t be any latency whatsoever.

@rorywalsh I guess you mean here in that line?

form caption("Convolution Test") size(450, 450), colour(0, 0, 0), pluginId("bjb3"), latency(-1)

This isn’t working well, as soon I add it, it compiles but in the host there is no processing of audio anymore.


I just pushed a fix for this now. Can you try the latest build from Azure and let me know? It should be cooked in about an hour or so.

@rorywalsh is it save to install it side by side with 2.8.0?


Yes, should be fine. you’re on a mac right?

@rorywalsh at the moment I am testing on Windows.
Would be good as well?


Just rename the previous Cabbage folder :+1: Version 2.8.0 is pretty old though, you might want to think about updating…

1 Like

ok, seems to fix it, there is still a slope in the phase view, but I guess thats the real response from the Dirac itself. thanks so much for now @rorywalsh

That’s good news. Note that this isn’t the most performant as processing is done on a sample by sample basis rather than in blocks. But it’s the only way to achieve this 0 sample latency. :+1:

1 Like