After much reading, forum searching, and even a Cubase course on Lynda.com, I’ve arrived at a workflow for Cubase and multi-output VSTi’s (e.g., Kontakt) that I’m comfortable with. There are limitations, but I’m hoping you can help me iron those out. Or, if I’m doing this all wrong, please give me a kick in the right direction.
Here’s an example: Mixosaurus Drums is a Kontakt library with eight mono outputs and four stereo outputs. I want each of those outputs on an Audio Track so I can rough mix them while composing, and later record them with minimum fuss while maintaining my rough mix settings. To complicate matters, Mixosaurus has ganged some of the mono channels onto stereo outputs (e.g., Kick In and Kick Out, Snare Up & Snare Down). These must be separated onto their own mono Audio Tracks.
Here’s how I solved this in Cubase:
Create an Instrument Track for Kontakt.
Load the Mixosaurus multi (with “32 Stereo Tracks” default output cuz Cubase ignores library multi-output settings)
Create Group Tracks for each desired audio track (because VSTi’s can’t be routed directly to Audio Tracks)
Create special Group Tracks for stereo-to-mono separation (e.g., Kick In Mono, Kick Out Mono)
Create Audio Tracks for stereo instruments (Overheads, Hi Hat, PZM Mics, Room Mics)
Create Audio Tracks for mono instruments (Kick In, Kick Out, Snare Up, Snare Down, Floor Tom, Lo Tom, Mid Tom, Hi Tom)
In the Channel Settings window, route each Kontakt output to its corresponding Group Track. For each stereo track that must be split into two mono tracks, route the Kontakt output to two corresponding Group Tracks (e.g., Kick In & Kick Out)
For the aforementioned stereo-to-mono tracks, pan the stereo Group Track (e.g., Kick In) hard left or right, as appropriate, and route to its corresponding mono Group Track (e.g., Kick In Mono).
Route all Group Tracks to “No Bus”
For each Audio Track, select the corresponding Group Track as input (e.g., Kick In Mono = Kick In, Overheads = Overheads)
Hide all Kontakt outputs and Group Tracks, leaving just the original Mixosaurus Instrument Track and twelve Audio Tracks (Kick In, Kick Out, Snare Up, Snare Down, Overheads, Hi Hat, Floor Tom, Lo Tom, Mid Tom, Hi Tom, PZM Mics, Room Mics)
Consequently, I’ve now got my twelve mono and stereo drum tracks in a neat, tidy bunch. The only real problem I’m having (aside from the setup time, so a Track Archive is definitely in order) is that, until the tracks are recorded and Kontakt frozen, when I solo a drum Audio Track, the underlying Group and Instrument tracks are muted, so the solo doesn’t work without some extra effort. Can I somehow link the corresponding solo buttons together?
And speaking of other solutions, have I attacked this problem efficiently or is this all wrong?
Cool, looks like you are doing things as intended IMHO.
I’ve done stuff like this 'live recording) with Reason Rewire, as well as various VI’s for recording, all requiring the dummy bus method.
As you are working with drums I’d be interested in what you find as far as latency experienced with your use with various routings and latency (buffer setting)
So far I’ve found when routing internally (midi comes from sequencer not live trigger) there doesn’t appear to be latency in audio recorded - as drums are very obvious here. (midi latency is another topic entirely)
Thank you for taking the time to read and respond to my lengthy post. After all this effort and consternation, it’s liberating to be told I’m on the right track.
I’m new to Cubase and things have been smooth so far, so I haven’t adjusted the audio settings at all (yet). Here’s a screen capture of my VST Audio System in Device Setup. And here’s my sound card’s ASIO settings - again all defaults.
To test, I created a quick MIDI sequence, quantized 100%, and recorded the audio tracks. Here’s a screen cap of the resulting track, magnified at the kick drum’s transient. Notice it’s hitting just one sample after the beat, which might actually be attributable to the sample itself. At 24/96 resolution, I can’t say I care.
I hope this is helpful.
Edit: For the record - this just occurred to me - I disabled Cubase’s Generic Low-Latency ASIO Driver by deleting two registry keys, as recommended elsewhere in these forums. I never enabled the driver, but it nonetheless caused immediate problems on my system and had to go.
I may be reading your steps wrong, but why don’t you use Kontakt’s interface to route the channels from Mixosaurus straight to the mono outputs in Kontakt? You can open the audio outpouts (the Output button at the top menu of Kontakt), and create the amount of mono and stereo channels you’ll need. That way Mixosaurus should be able to route to each of those directly from within its UI and you don’t have to bother with stereo separation groups in Cubase since you can route them directly to the corresponding Kontakt outputs. Again this might already be what you’re doing and I just didn’t understand your wording properly.
To do this, though, you’d need to load the standard Kontakt, not the 8/16/32 output version, those are pre-routed for stereo outs. Load the standard one output version, then do your own routing of just the channels you need in mono and stereo configurations within Kontakt. You shouldn’t have to be breaking up left+right stereo pairs into mono tracks via grouping when Kontakt can output mono tracks without issue.
I don’t get the use of group tracks or audio tracks in this scenario. Just use the appropriate number of outs from the vsti and use the outs to mix. You can always render them to audio when finished composing.
In my experience, Cubase doesn’t maintain Kontakt’s output state from one project to the next. It’s a well-documented problem, as indicated here on Native Instruments’ website. Instead, when a project (or track archive) is loaded, Cubase looks at Kontakt’s default output configuration rather than the outputs defined by the loaded multi. Consequently, Kontakt’s outputs are almost always mixed up from one project to the next. So, the only way I’ve found to restore Kontakt projects (and track archives) reliably is to standardize on one Kontakt default output configuration (32 channels, stereo) and save a modified version of each multi, accordingly. This way, Cubase reads the exact same default output configuration every time and the loaded multi is preconfigured to use it. Then, to get everything back in order in Cubase, it requires the mess of routing I detailed above.
If I’m wrong and there’s an easier way, please advise!
Well if that’s how Kontakt behaves on your system then I guess you have no other choice. I have never had that issue with Kontakt, so I just do my routing internal within the VST and everything loads nicely the next time. But like I said, I make sure to load the standard single output instance of Kontakt and then through Cubase only enable the outputs I need for that particular multi.
Also, which version of Cubase and Kontakt are you on? The latest Kontakt update is pretty stable for me.
I’ve tried it with all three versions of the Kontakt VST. Whether adding a new instrument track or loading an old project, in every instance, Cubase determined the track’s outputs from Kontakt’s default output configuration of the moment - never the multi. And then it’s fixed for the duration of the Cubase session. Loading a new multi had no effect on the instrument track’s outputs. The only way I could get Cubase to read Kontakt’s output configuration was to save the multi’s output configuration to “default” and restart.
So, are you saying that when you load a multi into Kontakt, Cubase updates the outputs listed for the instrument track right away? And when you load a project, Cubase restores the Kontakt multi’s output configuration exactly, rather than overriding with Kontakt’s current “default” output configuration? That’s how it should work (and how it does work in other DAWs I’ve used).
For the record, I believe what you’re calling the “single-output” instance of Kontakt is actually the 32 (stereo)-output instance, but with a default output configuration of just one stereo track enabled. The 8-port and 16-port instances are labeled accordingly, but then the 32-port VST is simply labeled “Kontakt.” It’s pretty misleading.
I’m using the latest updates of Cubase 8.5 and Kontakt 5.
And I forgot to say thank you for taking the time to look at all this. It’s a pretty involved mess. I appreciate your assistance.
BTW, I wonder if Kontakt’s inability to communicate output states more efficiently - assuming these problems aren’t an isolated incident - with Cubase doesn’t have something to do with the fact that Kontakt 5 is still VST2 rather than VST3. While other DAWs work around such problems, it might be reasonable to expect Steinberg to be more stubborn re the standard and compliance. After all, they wrote it.