Jump to content

Multitrack Audio and MIDI Routing TO and FROM VSTs


Jezric

Recommended Posts

Partially Solved: Turns out that when a plugin is added to the FX rack of an audio channel, there is an option in the plugin window that allows you to enable MIDI output of the plugin. So, that solves that second scenario below. Thanks @scook for pointing this out. Using that second scenario below you can have a VST added where you can route MIDI in and out of it (after enabling this option), however you still cannot route audio to an Instrument track hosted VST and you can't route audio output from an FX rack hosted VST. 

image.png.f2bd82a4e044067a1ea0657bb8abeece.png

I have discovered some inconsistent behavior regarding VST/plugins and Audio/MIDI routing within Cakewalk. 

Add an instrument track (either through the + in track view or by adding from the Synth Rack)
- No option to route another audio source (audio track bus, audio send or instrument track output) to that Instrument.
- You can route a MIDI track TO and FROM that Instrument

Add an Audio track and then add the instrument to the FX Rack (either as a SoftSynth or an Audio FX, same behavior for both).
- You can now route another audio track to that instrument through the Bus assignment or through a Send.
- You CAN route MIDI to that instrument
- You CAN route MIDI from that instrument (not enabled by default, can be set in VST window)
- You CANNOT route multitrack audio from this track to another track, if the VST supports multiple outputs, no way to route the tracks. 



This second option looked to be the right method if you want to be able to route audio from other tracks to the VST but unfortunately, if that VST produces MIDI, you cannot route that MIDI out of the VST to something else (like to an external MIDI device/hardware synth).

The ask here is to allow routing of MIDI and Audio IN and OUT of VSTs regardless of how the VST was added (Instrument track, Synth Rack, or FX rack).

The overall scenario here is mainly around Maschine (when running as a VST plugin). Maschine can take in MIDI and Audio and it can produce MIDI and Audio. So if you want to fully utilize Maschine within Cakewalk you can't. Say I have a hardware synth that I'd like to trigger from Maschine via MIDI (hosting within Cakewalk). Then I want to take the audio output of that hardware synth and route it into the Maschine plguin so that I can use Maschine's internal sampler to sample that synth.

 

Edited by Jezric
Link to comment
Share on other sites

1 minute ago, User 905133 said:

Do the inconsistencies within Cakewalk disappear or remain if you use split tracks instead of instrument tracks?

You mean split an Instrument track?  No.  There is a limitation with Instrument tracks, you can't route audio to them. So, one fix here is to enable audio routing to Instrument tracks (like you can with general FX Rack plugins). 

Link to comment
Share on other sites

Instrument tracks are a special presentation of autio+MIDI track pairs.

If a plug-in has multiple outputs, it is possible to add addition instrument tracks to the plug-in, one for each plug-in stereo output. 

It is also possible to add as many MIDI and audio tracks to a plug-in as desired.

 

MIDI data cannot be routed track-to-track regardless of the track type.

MIDI data is routed to and from plug-ins. 

Any plug-in capable of sending MIDI data may send the data to any number of instrument and MIDI tracks.

 

An instrument track has a MIDI input and an audio output so there is no way to route audio to an instrument track.

To route audio to a synth. the synth must be placed in an audio track FX rack. The audio in that track will be processed by the synth. MIDI data may be routed to the plug-in using any number of MIDI tracks. 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, scook said:

To route audio to a synth. the synth must be placed in an audio track FX rack. The audio in that track will be processed by the synth. MIDI data may be routed to the plug-in using any number of MIDI tracks. 

Yep, all true... One missing thing here. As noted in my original post:

Add an Audio track and then add the instrument to the FX Rack (either as a SoftSynth or an Audio FX, same behavior for both).
- You can now route another audio track to that instrument through the Bus assignment or through a Send.
- You CAN route MIDI to that instrument
- You CANNOT route MIDI from that instrument (like you can when it's added as an instrument track or through the Synth Rack)

So, there is a gap here. No way to add a VST that supports MIDI and Audio IN and OUT and map those elements to tracks. 

Link to comment
Share on other sites

On 1/31/2022 at 8:36 PM, Jezric said:

You CANNOT route MIDI from that instrument (like you can when it's added as an instrument track or through the Synth Rack)

It is possible if

  • the plug-in is capable of sending MIDI data and
  • "Enable MIDI Output" is checked in the VST drop down in the standard header of the plug-in and
  • the plug-in has the option enabled, if necessary. Some plug-ins have a separate MIDI send setting.

Here is an image showing

  1. Track 1, a MIDI track with its output routed to
  2. VCV Rack 2 Pro (in this case I specifically used the synth plug-in but the FX version works just as well) in Track 2's audio FX rack
  3. configured to receive and send the MIDI data and
  4. Track 3, an instrument track setup to use TTS-1, with its input set to VCV Rack and echo input enabled.

LDKF0Yn.png

and an animated gif showing the MIDI track playing and TTS-1 playing the data received from VCV Rack

D9SQ3fv.gif

Plug-ins in FX racks only send audio data down through the FX rack.

 

There are other ways to route audio and MIDI using 3rd party plug-ins but will leave that for another time.

 

While setting up this example, I noticed plug-ins in bus FX racks do not send MIDI data so for this case use aux tracks or audio tracks with patch points instead of buses.

 

FWIW, I agree data routing in CbB could be improved but want to make clear what is possible today.

  • Like 1
Link to comment
Share on other sites

2 hours ago, scook said:

"Enable MIDI Output" is checked in the VST drop down in the standard header of the plug-in and

Dude!!  That was it. I didn't know that option was there. I've been using CW for 20+ years and didn't know about that until just now, however this is the first time I have tried using a plugin this way (i.e. Audio and Midi in and out). That was the missing link. I thought it was weird that the behavior was so different between the ways you can add a plugin (Instrument track, synth rack, FX rack, etc.) and figured that maybe it was enough of a fringe use case that it wasn't thought of... but of course it was. After all these years I am continually surprised by all these capabilities in CW, and so sad that it gets so little mainstream recognition. 

Anyway, thank you so much, that solved a problem I was pretty bummed out about. 

Link to comment
Share on other sites

2 hours ago, scook said:

FWIW, I agree data routing in CbB could be improved but want to make clear what is possible today.

Yep, it's a bit scattered, I think that is the only interface where that option is. I looked in the plugin config dialog, would think that would be there at least...  There are a few things like that throughout CW, weird placement of config options. I mean I understand why it would be where it is, but maybe put it in the plugin config dialog too? Or the right click menu of the synth rack item, or FX rack item... Hopefully over time they will clean it up. 

Thanks again.

Link to comment
Share on other sites

"Enable MIDI Output" is in the Insert Soft Synth Options dialog too.

FYI, by default "Enable MIDI Output" is automatically turned on for synths but not for effects and not all plug-ins can send MIDI data.

"Enable MIDI Output" is considered a per-instance setting so is not located in plug-in properties.

Plug-ins incapable of sending MIDI data will have "Enable MIDI Output" disabled.

 

You are welcome.

 

Please edit the OP and add [Solved] to the subject.

thanks

 

 

  • Like 1
Link to comment
Share on other sites

4 minutes ago, scook said:

"Enable MIDI Output" is in the Insert Soft Synth Options dialog too.

FYI, by default "Enable MIDI Output" is automatically turned on for synths but not for effects and not all plug-ins can send MIDI data.

It is considered a per-instance setting so would not be located in plug-in properties.

Yeah, I saw enable midi output in the insert synth dialog, but when adding a plugin this way it doesn't have the capability of receiving audio, so I was moving away from using this method. Then when exploring the FX rack option, of course you aren't presented with this dialog. So, adding a plugin to the FX rack is the only way to have the plugin capable of sending and receiving midi and audio and requires setting this option in the VST window.  Simply saying that there are more places where I think this option may be more obvious. :) 

Updated the title and the original post with the solution. 

Thanks!

Link to comment
Share on other sites

On 1/31/2022 at 7:14 PM, scook said:

Plug-ins in FX racks only send audio data down through the FX rack unless it has a sidechain output. The primary output goes to down the FX rack to the track and the sidechain goes to another plug-in in a different track. It is possible to use a sidechain as a second audio output by enabling the sidechain monitor in the plug-in receiving the sidechain signal.

Just to make this clear. Unless I'm missing some setting somewhere. 

VST hosting scenarios and capabilities:

  • Instrument Track
    • No: Audio input to the VST
    • Yes: Audio output from the VST (to other audio tracks, supports multichannel audio from the VST)
    • Yes: MIDI in
    • Yes: MIDI out
  • FX Rack on an Audio Track
    • Yes: Audio input to the VST
    • No: Audio output from the VST (to other audio tracks, supports multichannel audio from the VST)
    • Yes: MIDI in
    • Yes: MIDI out (not enabled by default)

So, it seems there is no way to host a VST in Cakewalk where you can route audio in/out and MIDI in/out.

Remarking this thread as not solved... 

Edited by Jezric
Link to comment
Share on other sites

Instrument tracks are not a basic track type. They are a presentation of a MIDI+audio track pair.

Any number of MIDI tracks may send data to a plug-in capable of receiving data.

Any number of tracks may receive MIDI data from plug-ins capable of sending data.

As long as it does not create a feedback loop, any number of auto tracks/buses may send data to another audio track or bus.

CbB does not support routing audio track outputs directly to plug-in audio inputs.

For plug-ins to affect audio data they must reside in an audio FX rack or ProChannel.

 

 

Link to comment
Share on other sites

Ok, but the 2 VST hosting scenario above are true. So, there is a gap in VST support here. 

I understand that an "instrument track" is just a presentation thing in Cakewalk, however under the covers something is different as you can't route audio to the instrument track's attached VST and you can route multiple audio outputs from it to other tracks (i.e. multitrack VSTs like Kontact, VCV, Maschine, etc.). 

and:

12 minutes ago, scook said:

CbB does not support routing audio track outputs directly to plug-in audio inputs.

It does:
image.png.746baee1c25f73ca89a99d92d34958fe.png

Link to comment
Share on other sites

10 minutes ago, Kevin Perry said:

You can add a soft-synth to an FX rack if you want to, which I think achieves what you want:

As mentioned in the OP and in my reply above, yes, adding as an FX rack plugin gets you MIDI in/out and audio in, but you cannot route audio from that plugin instance to other audio tracks like you can when a plugin is added as an instrument.  (plugins like Kontakt, VCV Rack2 Pro, Maschine, etc.). 

Link to comment
Share on other sites

45 minutes ago, Jezric said:

I understand that an "instrument track" is just a presentation thing in Cakewalk, however under the covers something is different as you can't route audio to the instrument track's attached VST and you can route multiple audio outputs from it to other tracks (i.e. multitrack VSTs like Kontact, VCV, Maschine, etc.). 

There is nothing different "under the covers" but if you believe there is, split the instrument track. to reveal the MIDI+pair

The exception to 

1 hour ago, scook said:

CbB does not support routing audio track outputs directly to plug-in audio inputs.

is the sidechain implementation.

I messed up the sidechain explanation above.

A plug-in with a sidechain input may have any number of tracks summed and routed to the sidechain input. Prior to patch points, this was the only way to send audio to multiple tracks without an external loopback.

All plug-ins in an FX rack and ProChannel send data in series from the top to the bottom (cf. signal flow diagram) out to the audio track.

 

 

Link to comment
Share on other sites

2 minutes ago, scook said:

There is nothing different "under the covers"

If there is no difference than why can audio tracks be routed to a VST that is hosted in an FX rack, but not to a VST that is hosted within the instrument track construct?

With all that's said here, there is still a limitation in the way that Cakewalk is supporting VST capabilities. Right?

Meaning, again, there is no way to host a VST and have MIDI going in and out of it and multitrack audio going in and out of it. 

 

Link to comment
Share on other sites

I would love someone who knows the CbB codebase to chime in on this... 

  • Create an Audio track
  • Add a multi-track capable VST as an FX Rack plugin
  • Enable MIDI out for that VST instance
  • Add a MIDI track and select the VST as the MIDI output
    • Note: You can route any number of audio tracks to any number of the VSTs supported audio inputs, however, you cannot create another audio track and select any of the audio outputs coming from that VST as the input
  • Select the Audio track and MIDI track, right click and select "Make instrument track"
  • The 2 tracks become 1 instrument track
    • Note: You can no longer route any other audio track's output to the supported inputs of that VST, however you can now create additional audio tracks and route any number of the supported audio output channels from the VST as the input sources.
  • Select the Instrument track, right click and select "Split instrument track"
    • Note: Even though it splits out the audio and MIDI tracks, the VST is no longer added to the FX rack, and the instrument track behavior (as previously noted) for that VST is still in effect. 

So... how is it the same under the covers? Clearly something is happening behind the scenes, under the covers, etc. :) that is enabling/disabling the VSTs capabilities. Like the VST is treated one way when bound to a single audio channel (i.e. treated as an effect) and when it is added as a disconnected or global VST, either created when creating an instrument track or when just added as a synth in the Synth rack interface.

This may come down to a difference between VST and VSTi (come to think of it), at least in how CbB treats it, but in actuality they are both the same thing, the spec defines them both as capable of multichannel duplex audio/midi. But depending on how they are added in Cakewalk, they seem to be treated differently. 

Edited by Jezric
Link to comment
Share on other sites

19 minutes ago, Jezric said:

there is no way to host a VST and have MIDI going in and out of it and multitrack audio going in and out of it. 

Yes, there is no support for multiple separate MIDI and audio tracks going into and out of the same plug-in.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...