Looking for VSTi that creates a MIDI Out & can pass its Input to the Out (aka MIDI Thru)?

Some VSTi’s like Groove Agent, Kontakt & Halion create new MIDI Out ports that can be used as Inputs by Tracks.


What I’m trying to do is figure out how to configure one so that it acts as a MIDI Thru and passes whatever MIDI data it receives to this output.

I’ve always hated how the Chord Track can only play either all Monitored Tracks or one single Track. This is because normal MIDI sources like a Keyboard Controller appear as an available MIDI source for any Track to use - the Track chooses its source. But the Chord Track is the opposite - it directs its MIDI data onto Track(s). To my mind The Chord Track should appear just like any other potential MIDI source. Since Cubase doesn’t do this, I’m trying to roll my own.

The idea is to set the Chord Track MIDI to play an Instrument Track (which I’ve named “Chord Track Redirect”). On this Track I’ve placed Groove Agent SE. I’m using this as a MIDI Source to play a piano VSTi.


However I can’t figure out how to pass thru the MIDI at its Input to its Output. I know the basic connection is OK-ish because if I put MIDI Monitors on the Redirect Track (left) and the Piano Track (right) you can see the Redirect Track is receiving both Note Data and Chord Symbols but it only seems to pass on the Chord Symbols and not the Notes. But it is passing something through.

Seems like it is soooo close to working. FYI I get the same results if I try to use Halion or Kontakt to pass on the data. Only focused on GA SE because everyone will have it. Any ideas?

I’ve been able to do type of idea this via an Audio FX plugin that has Midi In and Outputs, e.g. Melda’s MCCGenerator (it’s part of the Melda Production free bundle) - but this may also be possible with others - as long as they have Midi In and Out and also pass the incoming midi data through.

  1. Create an audio track (just to hold the MCC Generator plugin), e.g. “Empty FX Holder”
  • Insert the plugin MCCGenerator, but switch everything off, so it doesn’t actually generate any data itself.

  1. Create a Midi Track (e.g. called “Chord Track Router”)
  • Midi Input - none
  • Midi Output: Empty FX Holder … MCCGenerator Midi In

  1. Send Chord track to the just created Midi track

  1. For each desired instrument track
  • Midi Input: Empty FX Holder … MCCGenerator Midi Out
  • And enable Monitoring on the track

Worked here for me with Bidule as a straight pass-thru.

Plays the piano track with this input as expected if its armed.

Exported a Mix-down, and that is working too. Resulting wave…I hear the piano playing the 4 C chords shown.

Tried the same thing with:
Empty MIDI Track>Virtual Port>Piano Track
works in real time, but not on Quick-rendering Exporting a Mix-down.

:exploding_head: :exploding_head: :exploding_head: :exploding_head: :exploding_head: :exploding_head: :exploding_head:
That moment you realize you’ve made something way more complicated in your head than it needs to be!

After reading your replies I realized a simple Virtual MIDI Cable would do the trick. I’ll write a separate ‘how to’ on this and link to it here.

EDIT: Link

That said both MCCGenerator and Bidule seem like something I should check out. Actually I’ve been purposefully ignoring Bidule for awhile now. @Brian_Roland what do you mostly use it for?

First thing I do with it, is set up a stand alone instance to run all my MIDI Controllers through it. Pipe those into Virtual Ports…and go to my hosts from there. Make really dumb controllers really smart! Like unlimited Cubase MIDI Transfomers on steroids before it ever hits the DAW. I rarely do anything ‘audio’ in this first instance at all. 99% Controller management.

Too many things to list really. It’s a hell of a DAW swiss army knife (especially if you have the Plugin version)!

  1. Snooping streams, both MIDI and Audio to see EXACTLY what they are doing. Real time Diagnostics. Also has pins for all sorts of host provided information…sample count/rate, tempo, status of transport, and a whole lot more. Info which can be used to fix issues, do really creative stuff, and build smarter instruments.

I.E. Maybe I want something like Garritan (that doesn’t have a user scripting engine) to use a different bowing style/pressure at faster tempos than slower ones. I could snoop some of this diagnostic info in real time, and have Bidule bounce off a different sound (or adjust parameters, whatever) based on tempo.

  1. Hosting multiple VSTi plugins in one place, more or less combining them into one instrument. I.E. Mix and Match instances of Garritan Orchestra with East West Orchestra. I can build key-switches, program changes, channel bounces, whatever…make these two plugins merge together ‘as one’.

  2. Effect Chainer for Mixer VST Inserts. Out of slots up there? Doesn’t matter…chain as many as you like in this thing. Don’t want them in a series? No problem…run them in parallel, heck, run 12 of them in parallel, and 6 more serial under that if you want. Throw in a sub mixer…extra gain staging, a control to ‘crossfade’, automated gates, whatever ya want! If you’re into crazy experiential stuff, go ahead and build a bidule to strobe the signals across your 12 parallel VST effects one by one on each new beat (round robin effects?, shoot, make it random, have a couple jiggle rapidly swap their LR channels 30 times a second, deep breath, dream it, and if you’ve got a computer that can handle it, it’ll sing it).

Yes, you can register VST parameters for anything you like in there too, so they pop up a lane in Cubase to work with. Then chain that to whatever you want to pump inside Bidule.

You can link CCs coming in to whatever you want living in a Bidule instance.

Lotta syncing options…sync to host, or even set up your own transports with their master clocks.

Mod matrices out the wazoo, both midi and audio…plenty of ways to automate them all…for rerouting stuff, continuous stuff, for switching stuff, for gating stuff, pretty much whatever you want.

  1. Ever wished you could insert/remove plugins while the transport is going, things are playing, and not get a glitch in the sound? Ever wish you could do it to an unarmed track? No problem…a few strategic instances of bidule, and you can do stuff like this…throw it in instantly, or put it on a cross fade.

  2. Got a plugin you wanna side chain that doesn’t support it? Well, you can use a comb filter or two to hone in the frequencies you want pump stuff with better resolution since it’s living in the ‘same thread’. If you’d rather not control pump it, there’s plenty of stuff in there to do with gates and cross fades as well (and more).

  3. It can also be a sampler, and rudimentary synth. Can build effects on your own at sample level.

  4. Transforming MIDI…the thing also has a lot of cool stuff to build arps, random generators, LFO engines, frequency remappers, MIDI event remappers, on and on and on.

  5. Wanna host stuff off on another computer? Add something like Reastream or rtpMIDI and ASIO Link Pro…you’ve got yourself a remote sound server.

  6. Add countless ‘missing features’ to all my DAWs.

  7. Bridge AU plugins into VST Hosts, and vice verse.

  8. Don’t use it much yet, but it can also be an OSC Server/client.

  9. Kludge audio tracks into apps that don’t support it. I.E. Dorico. Dorico doesn’t yet supply clock info to plugins it hosts, but we can get sample count, and use that to fire off an audio file at a precise time…have it sync up with the transport.

  10. Use virtual ports, or OSC to send MIDI in one instance off to other plugin instances, apps, computers, whatever. Can use reastream if I want to send audio that way too.

Can we get unlimited MIDI AUX Sends? Yep! Even in instrument tracks :wink:

  1. A tons of stuff I do with it for the scoring apps that I won’t get into here. Essentially filling in major gaps in their playback engines, and score interpretation engines. Does it insist on sending that legato pedal a tick too soon? I can filter, grab and delay that event a few ticks, then inject it back into the stream.

  2. Round robin stuff across different plugins. Layer up more stuff with cross fades. If I want louder strings…instead of just pumping up volume on one program in one sampler (often exposing how crappy some samples/loop-points/etc. can be for some notes, even in the best libraries), I can ‘bring in more string players’ from a totally different plugin/library. It’s getting ‘louder’, without exposing stuff that don’t sound so good. Right? Stuff like that.

  3. Run VST3 plugins in VST2 hosts. Vice verse…this often fixes compatibility issues between hosts and plugins that got something wrong when trying to figure out how to implement protocol. Case in point, I can run Opus in Dorico through this, word builder for the choirs works. Without bidule in the chain, it’s a disaster and word builder doesn’t work at all…notes stick, etc. Play6 suffers the same issue. Without this ‘bridge’, I’d have to roll back to something like Play5.0.1 to get the word builder for the choirs working in Dorico.

Only bad thing I can say about Bidule is that it’s not pretty/fancy to look at. It’s down right ‘ugly’ aesthetically. Oh, things are not hard to see, and you can change colors, maybe fonts? I guess you could make your own skins for it too if it matters enough.

It can take a bit studying, trial and error to learn to make complicated bidule groups. With it being object oriented, sometimes down right frustrating to have to connect things, open a box, set some values, etc. The plus side, is it’s just powerful as heck, and you don’t have to be some kind of expert programmer to pretty much ‘build your own plugin’ from the ground up!

It’s truly amazing! Best and most used plugin I’ve ever had. Easily a top all time investment out of any and all supplemental utilities for digital music.

Only thing that sucks about it, is if I’m sharing a project with someone that doesn’t have it too, well, I’ve been spoiled. I have to rethink and do it without. Life at the workstation is a LOT harder with out it to me. I miss it sorely when I can’t use it.

For what it’s worth, I’m only scratching the surface of what this thing can do. I forgot to mention that all that stuff I mentioned, well, most of the included bidules support independent presets…which you can teach to be called up via remote, or triggered all sorts of ways. It can also bind your qwerty keys to MIDI events, and vice verse.

Just a big. Dot, Dot, Dot from here…it goes Energizer Bunny on and on.

1 Like

hahaha - that was actually my first immediate thought, but I assumed, since that was such an easy solution, that you specifically didn’t want that. :rofl:

I think it was an artifact of coming up with the basic idea. A few weeks back I was playing with taking the MIDI output from Groove Agent 5 and making it conform to the Chord Track. Fast forward to now and I’m setting up a new PC and decided to rebuild my basic Template from scratch. While doing that I saw some VSTi MIDI Out Ports and thought !!! I can use those to redirect the Chord Track!!! and that became a given in how I saw the solution. Not that different from folks here who insist on doing something a certain way because pick-any-daw does it that way…

1 Like

In case I forgot to mention it, only problem with the virtual port option is that it won’t instant render.

You’ll have to bounce those chord tracks down to audio in real time (if you need that).

I figured that’s why you were experimenting with a pass through option.

Ran a quick test back when I was trying it out with the Instrument Track > Bidule thing. In that case, the chord tracks worked with quick rendering/mix-down features.

1 Like

Makes sense. For all Cubase knows that virtual cable is connected to some physical hardware. I suppose you can also record the MIDI onto the the destination Track and render that real-time.


Quite true.

MIDI Freeze/merge works for Chord Tracks connected the Cubase way as well. Just gotta remember to disable the chord track for the one(s) that got it ‘frozen’.

Just a mention for people that don’t already know to take that into consideration and plan accordingly if they implement virtual port stuff.

So an option is to connect it the traditional Cubase way first.
If there’s a part on the track already, or you create one first, Freeze Modifer’s works.
If not, one can use the merge in loops option.
Then mute or disable the chord track.
Then instant render to audio.

I’ve made quite a few posts involving virtual ports for different things (namely automation related stuff involving Generic Remotes) and sooner or later someone says, “I did a mix-down/instant render and it doesn’t work! What’s up?”

Yes, I think your use of a virtual port here is a very GOOD thing for workflow :slight_smile: I’ll be using it too.

1 Like

I “print” generated midi more often than not, since I tend to refine the generated midi data well before it ever gets close to a mixdown, so the virtual midi cabling hasn’t lost it’s appeal on me yet. :slight_smile:

For a more fully generative music making setup, though it seems that Bidule can be really useful:

1 Like

And that’s just a single instance of the Stochastic generator in the video. Imagine what you could do with several of them chained up :slight_smile:

You can also do that sort of thing to a matrix of pots, connected to whatever you want. Connect the pots to switchers/crossovers (midi and audio varieties both).

In general, you have like 5 classifications of bidules (lots of them, but most more or less fit in these classifications).
MATH/Functions/Variables/Bit Converters
Generative (Controls, Players, Oscillators, Prebuilt Groups using all those above, Sample players, Step/Arp builders).

Use the math ones (usually pretty boolean basic, but you do have options for working with lists/arrays/etc) to invent logic for the others as needed.

Audio and MIDI both get an assortment of base handler bidules with pins on them to control or effect using all the other bidule types.

Sometimes you might want to skip all the object oriented hubbub and build a bidule via code. I haven’t looked at the dev-kit for that, but they do have one you can ask for.

It’s not going to be for everyone…lots of clicking to build anything. Best way to know is give the demo a try.

For me, just the included bidules, and the ability to chain and route is worth it. The rest is gravy :slight_smile:

1 Like

Bidule looks like the handsome grand-child of Reaktor. In Reaktor I always feel like I’m spending too much time just trying to find stuff in a clunky environment. How would you compare the two in terms of how easy/difficult it is build stuff.

I’m really excited by some of these environments that can be plugins as well as hosts for other plugins from a mix of manufacturers. That opens up so many more possibilities, than the environments that will only host their own plugins.

1 Like

Not familiar with Reaktor.

I didn’t have any trouble at all getting a lot of value out of Bidule right away.

Within the first few minutes, it already beat out Bome ($70 USD) for controller management and pre daw transformations there.

Example, I often plug in pedals and they’re wired backwards for the keyboard I plugged it into. Sometimes there’s no way to change the phase on the pedal, nor in the keyboard I plugged it into. It works, but backwards. So…bidule to the rescue! I use that often, so it’s saved as a group I can pull up and drop in with two clicks.

Yes, cubase can fix this with a global or track transformer…but I have other apps that can’t.

Sometimes I want to split the keyboard into 4 or more zones. It can only do two natively. Bidule to the rescue. Easy to do too. Save it once it’s built…always on the ready in two clicks.

There’s more…AKAI shipped crappy drivers with my MPK261 that go into exclusive mode. Only one app at a time can touch them. This configuration solves that too, as the virtual ports are multi-client friendly.

At home…far from an ideal place to mix…really bad room, but I love it for my own personal fun and composing.

Here’s a shot of the logic that mirrors a CC to correct a backwards pedal. Seems like this was included and already built for us, so I began using it at a higher level that essentially just sorts out what CC it should mirror, if I want it channel specific or not, etc.

At the top level my first stand alone instance looks more like this. The transformations and stuff I do from the MPK are all living in that one block top left of the bidule instance. Bome1 and Bome2 are the virtual ports out…

In this case, I’m running ASIOLink Pro here, so I can route any audio in my system, be it WDM or ASIO about. Send my DAW to Team Viewer. Record something from the web into Cubase, grab a stream from another PC and pull it into Cubase, whatever.

I threw up a cheap Limiter (DD Limiter) plugin for my Web Browser, because when I’m streaming broadcast with ads, it never fails the adds blow the roof off my house, but then I can’t hear the program!

The Reastream instance is for sending my Fantom XR into Dorcio so I can blend that into what’s going on with effects in Dorico’s MIX. In short…an instance of Bidule leads Dorico to belive my XR is a VST plugin. It sends MIDI off to the Fantom directly, and this reastream instance picks up the audio off the SPDIF inputs of my Delta 1010, and sends them back over to that instance of bidule over in Dorico, and it goes into Dorico’s mixing console directly.

The group of four faders turned up and unmuted are for Dorico, Sibelius, Finale, and my Web-Browser receptively. Cubase gets a hard line straight to faders 1 - 6.

Of course this is just one setup of many. Just happens to be the one that’s currently up.

Basic monitoring, rewire ability, and routing alone, and I was already in heaven.

Before I even started up a DAW, as you can see, I’m using Bidule for quite a few things. Already got my $85 worth!

It’s not hard at all for the basics of chaining and routing things. Once you build something, it’s not ‘klunky’ at all, as you can group things and put your base UI objects needed into a single top level panel. Make you own short-cuts or remote controls to easily get at it, etc.

It doesn’t start getting ‘kunky’ until you’re trying to build something really complicated. The clunkyness has both advantages and disadvantages. A plus being, it’s easy to see and trace your logic, put in monitors/meters at any point to check it…verify what it’s doing at each stage, make adjustments, etc. That’s something that’s often hard to with ‘code’.

Most things you’ll need access to in a ‘hurry’ you’ll have saved away as a bidule group, or even an entire bidule project. So once it’s built…no problem, and you can control how your personal library of groups show up in menus.

Over time, I started taking more advantage of the gravy. I just wanted to make my orchestral stuff a little smarter, fix issues somewhat on the fly with libraries, etc.

I’ve kind of ‘grown into’ using more and more features as I come up with a problem that needs a solution. If there’s something a host can’t do, I’ll ask myself if maybe Bidule can plug that gap, and often it does.

Personally, I don’t use it very often for super creative sound design. I mostly use it for more flexibility in implementing/mixing/meshing existing sounds. In that respect, I don’t find it difficult to use at all. Especially now that I’ve practiced a bit with the math-bidules, and built up a collection of personal groups for the most common things I need that weren’t already included.

I.E. Build a simple routine of about 7 bidules, say it’s something like randomizing velocity between a certain range as it comes in if it lives near a certain beat or other characteristic (random example off the top of my head). I know I often need that in a x16 configuration with adjustable channel mapping up front, so I go ahead and set that up with a quick UI on top and save a group for it. Basically clone it 15 more times, group it, connect some more pins, make a top level UI to easily get all 16 channels in one click to change the channels in one spot, preset the default channels I want, save it, and boom. It gets used over and over again.

In a live situation, this thing should be solid gold! You could easily create a setup with it to manage your acts and sounds with one touch commands straight from your keyboard(s). I’ve done some small scale live stuff with it…and it REMOVED kunkyness…of course…I had to plan and build the flow in advance, but boy was it fine to use from there.

So I guess, to sum it up…
I meet a problem, build a solution, and ‘grow into the app’. The more I use it, the more advanced I get with it, and the easier it gets for me each time.

1 Like

Me too!

I do wish I could host all the Stienberg mixing desk plugins that come with Cubase in bidule. This is one drawback that prevents me from using it a LOT MORE on the mixing console than I do. AFAIK, there’s no way to run that stuff in any other host but Cubase. I have to use 3rd party plugins up there…and I don’t have a huge collection of those.

1 Like


They don’t really demo the product well in their videos at all.

They don’t show you that you can make a nice unified and simple UI for the junk they have spread all over the screen.

You can group all that stuff up into one bidule, then build controls for it as needed all in one place.

Double click the group, up comes all the faders, pots, buttons, and stuff you need for that group in one window.

I.E. Say you’ve set up a standard run of the mill x16 stereo mixing console with aux sends for a reverb and a chorus. You could make a console that includes all the pans/faders/mutes, send pots x16 for the FX, plus a few basics on your effects plugins (wet/dry for example), plus a couple of buttons that’d call up the full effect plugin UIs if you click. It wont be ‘pretty’, but it’ll function, and you can link remote controls to it if needed from there.

That doesn’t happen automatically of course, you build and link the controls (either to VST params where possible, or CC generator when not), but it’s not hard to do.

Is it necessary? Alot of times, not really as you’ll often be doing all that straight from your DAW with parts and lanes anyway, but for controls or parameters you’ll be using/changing often with a mouse/keyboard, and don’t want to go digging for…why not? Two clicks to open it (if it’s not already open) and make the adjustment instead of several to dig down to the bidule or plugin parameter/control you need.

1 Like


ok - just bought Bidule, installed it on my system and tested the basics working via making a straight midi through.


If I understood you right, you’re also messing with midi controller quite a bit.

In any case, that has been one of my deep rabbit holes over the last year or so. I’ve experimented with quite a few different controllers making it a bit of a sport to pick up somewhat outdated used one’s for relatively little money. As a result I currently have a dozen or so kicking around my studio.

My currently connected setup includes a Machine Jam, a Maschine Mk2 and a NI Traktor Kontrol X1 Mk1, as well as an Elgato StreamDeck - all connected as Generic Remotes.

And like you mentioned yourself doing, I’m also looking forward to doing a few interesting things with Bidule to expand the capabilities of that setup.

This should be fun!

Thanks again for being so articulate what Bidule can do. I had a couple of Plogue’s freebees for years (Alter Ego and sforzando), but never clued in how powerful Bidule is and how relevant is can be to my various Cubase related adventures.

1 Like

Bump for this one since I added a blurb with screen shots.
In short, I felt like I got my money’s worth before I even open a DAW :wink:

1 Like

Lucky you.

The thing I find clunky in Reaktor is that even though you know there is (must be) a module that does XYZ, it’s often hard to find - a lot of time gets spent just looking for stuff. For comparison DiVinci Resolve’s Fusion like Reaktor & Bidule is a node based system, but for video. It’s pretty logically organized and that makes all the difference in ease of use - even when building something fairly complicated.

1 Like