Cabbage Logo
Back to Cabbage Site

Cubase Multichannel issues


I have written a simple script that takes two stereo inputs (in the form of a quadro channel, using inq) and morphs their FFTs together. I was able to successfully patch it up inside of Cabbage (using the TB303 and TR808 emulations as inputs) and later tried to export the script into a VST plugin to use inside my native DAW, Cubase.

Now, the way one would usually go about using multichannel effects plugins in Cubase (such as sidechain compressors) is to create a quadro channel, split it into two stereo subchannels, and then route the two stereo inputs to the subchannels, respectively. However, this same procedure does not work when applied to the exported VST.

My guess as to why this does not work is that Cubase has a different understanding of a quadro channel than Cabbage does. I tried changing the channel order (from a1, a2, a3, a4 inq to a1, a3, a2, a4 inq, but all it did was render the right audio channel dysfunctional.

Is there any workaround for this? I think Cabbage is a very powerful environment so there has to be some way to make this work, right?

Thanks in advance.

EDIT: Perhaps I should clarify how exactly the VST is misbehaving to give a better understanding.
When routing each of the stereo inputs to the respective subchannels of the quadro channel and loading the plugin, the second stereo channel passes through unchanged while the first does not work as intended either: it makes the sound you get when morphing the first stereo channel with a zero signal (I was able to replicate this inside of Cabbage).

By the way, is it possible to make (4in, 2out) effects? I searched the forums for this and found a post that stated it was possible, but I cannot get it to work (it does not throw the “in3, in4 ignored” type of error but I get a (4in, 4out) effect despite having included nchnls_i = 4 and nchnls = 2 in my code).

I actually checked 4 channel plugins about a week ago in Reaper and found them to be working fine. But I have had issue with Cubase in the past in terms of its channel logic.

I’ll have to double check but I think you must use nchnls, and this sets both the number of inputs, as well as the number of outputs.

Can you try MultiIO.csd (998 Bytes)
I just checked here on Windows using Reaper and it behaves as I would expect? You on Windows or OSX?

Thanks for your prompt reply. I tried your example and observed the following behavior.

Channels 1 and 2 do not pass the effect regardless of the gain1 and gain2 knob settings.
Channels 3 and 4 pass the effect unaltered regardless of the gain3 and gain4 knob settings.

Hope this helps.

Regarding my nchnls question: It’s okay, as long as the plugin outputs the intended signal on any two of the four outputs I can just filter the other two out, so don’t go out of your way to check it :slight_smile:

By the way, I am working on Windows 10, and my Cubase version is 9.5. Sorry for not having put this in the initial post.

Thanks. I will try this myself later this evening. Looks like an issue with how Cubase does its channel routing. I think I still have a few days left remaining on my Cubase trial version.

Btw, are you noticing any odd issues with the latest version on Windows 10? Namely graphics issues when you save a file. On some PCs I’ve tested on it looks like the OS is not redrawing portions of the screen. On my own PC it works fine?

Thank you. What version of Cubase do you have a trial for? I believe Quadro channels are only supported for the Artist and Pro version (at least it was like that back in Cubase 7 days). Should you require me to try anything out, I’d be more than happy to help.

I have not noticed such issues, all of the screen seems to redraw properly when saving files.

Looks like you’re right. I just tried to put a multichannel effect on a track but it only give me a stereo option. That’s extremely frustrating. I’m not sure how to proceed here in this case. If I could manage multichannel plugins I would simply build Cabbage and run it through Cubase with the debugger to find out what’s going on. Without a copy of Cubase I can’t see this issue being resolved unless you happen to know your way around C++? In which case you could have a go at debugging the issue yourself.

Steinberg frustrates me so much as a developer :rage: I can’t justify the cost of a license just to test a few plugins.

Oh man, this makes things a bit harder.

I can usually read code as my job involves working with MATLAB, and even though it’s quite different from C++ (which I have never really looked into) I’m pretty ok at debugging, so I would definitely give it a try.

Any suggestions on where to start? You obviously know the architecture better than I do.

What has you using Matlab all day? Just wondering if it’s DSP related?

It ain’t going to be easy as Windows is a bit of a nightmare to work with. But if you want

  • start by cloning the Cabbage repo:
  • install Visual Studio 2017 community with the full C++ development tools. It’s a fair size of a package, expect to part with about 3/4gigs of hard disk space.
  • Download JUCE version 5.2.3, and then build the Projucer project with VS2017
  • Download and extract the VST SDK to a folder on your C drives called SDKs.
  • Do the same with the ASIO stuff
  • You should have Csound installed, if it’s in the default location great, otherwise might be best to install it there.

With all that done, open the Visual Studio command prompt and navigate to the Cabbage/Builds/VisualStudio2017 folder from there run


If everything goes well it should be build. But there are a lot of variables here! If you manage to get a local build running then we have a better chance of hunting down the problem.

Kind of, I’m a research assistant in the field of direction-of-arrival estimation for microphone arrays.

It’s already late here where I live and I have work tomorrow, but as soon as I’m back home I’ll try the steps you described. I’ll get back to you as soon as I got it working. :slight_smile:

Groovy. In this case we better get you set up with a working mutli-channel version asap! Let me know how it goes.

Late to the party, did anyone get anywhere with this? I use Cubase also and wanted to try implement sidechain ins in a plugin (also sorry for ultra frequent posts Rory your email is def hopping with Syl Morrison notifications)

I don’t have a licensed copy of Cubase so I can create multi-channel plugins. Therefore I can’t run this through a debugger so what what’s going on. Not really sure how to tackle this.

I’ll give it a go and see if I can work out whats going on, already have vs, juce etc but am leaning towards me not knowing how ahhaha

Just try building Cabbage. It’s pretty simple on Windows. Clone the Cabbage repo and open the CabbageIDE.jucer file in the JUCE Projucer. Then go to “Save and Open in IDE”. Maybe it builds straight out of the box. I’d try that much first.

Only error I got on building was,

Error C1083: Cannot open include file: 'iasiodrv.h': No such file or directory

do I need to include an asio lib I don’t have?

Download the Steinberg asio sdk and extract it into the SDKs folder.

Sorry, which SDKs folder? Not working with it in source :frowning:

You will need to create one. It should live in C:/SDKs
Extract the asoi sdk into that directoey. It’s the default location for SDKs used by JUCE.

1 Like