Accessing an External Keyboard in C3

Sorry this may seem like a “duh”. I just upgraded to C3 (Brad I know you’re listening… it is brilliant by the way). I just picked up an old D50 and wondered how I can access the D50 through Cantabile and mange from the DAW?

I have a ton of vst’s and no issues with them. I’m assuming I need to turn local off on the D50, but what else to have Cantabile recognize?

My setup is simple - Laptop running Cantabile > connected via usb to the Lexicon Omega > Midi in/out to the D50 and Omega.

Also - I have a bunch of D50 Soundbanks that could be loaded via sysex. Any way that Cantabile can do this? Sounds like a pipe dream, but I had to ask.

Basics are pretty simple:

  • create MIDI output port that connects to your D50

  • create a rack that simply connects Rack MIDI in to your D50 Midi port → now you can send note / controller data to your D50

  • now you can send program changes from your song to your D50 via triggers (e.g. on song load or song state load):

If you have a set of standard sounds, you can even use rack states to select them: create a song state load trigger within your D50 rack that sends a program change to your D50 (different programs for different states)

But of course this means that the presets on your D50 stay stable for this to work

On the other hand, you can use Cantabile to send sysex blocks to your D50 (not sure how big such a sysex block can be → @brad???). You can even automatically load a new sound bank with a song:

You can import your .syx files in the sysex editor (double-clicking the “value” field gets you there)

not a pipe dream - REALITY!




No hard limits, unless you hit some limit in a MIDI driver (but I’ve never heard of this).

Somehow I missed that you could send Sysex blocks via Cantabile 3!
That is huge for me!
(And there it was just waiting in black and white for me to discover… SysEx Macros - Cantabile - Software for Performing Musicians)

Awesome to the power of 10!

This part I did not find in the manual:

I’m sure it is in there somewhere! Thanks Torsten once again!



First thanks for your reply. Sounds awesome in theory. I’m just having a little trouble understanding the concept, I think. I tried to create the Midi output port, but I must be missing something.

Here’s what I did:

Selected New Song
Chose Main Keyboard
Created a New Rack and called it D50
Edited the D50 Rack and selected - Rack:MIDI In
Right Clicked - Output Ports and created a new Output Port Called D50
Selected - OutputPort - Rack:D50
Setup the rest how I thought??

Here’s what it looks like:

Any ideas where I went wrong? Thanks for your help!

Hi Robert,

I think I can see where you’ve gone wrong. Where Torsten says create an output port called D50 - he means a MIDI output port in Cantabile’s Options - not on the rack itself.

It looks like you’ve renamed the rack’s MIDI output port to D50 which will just send the output back to the song, which you’ve then routed to the external synth.

The setup Torsten has described doesn’t require a MIDI Output port from the rack. It just connects it’s MIDI input to the global MIDI output port named D50.


Thanks Brad. I was able to create an output port in options and call it D50. Still not sure if I can simply play the D50 versus my vst’s. I think there was a little confusion on my initial post. I had 2 questions and I believe Torsten addressed the 2nd one which was if I could load sys files. Back to the original question:

  1. Can I play the D50 like normal through Cantabile? Not a VST, but simply play the sounds from the physical keyboard to layer with some VST’s in a song.

My guess is that I go into Options and create the output port. I did that and called it D50. Are there any unique settings I need to add? Omni ok? or should I assign it to a different channel?

I’d like to turn Local off so the only time you hear anything from the D50 is when I add that rack to a specific song.

Thanks for your help!


Hi @rjohnson1437

I think this really depends what you’re trying to do. If you just want to route MIDI via Cantabile and then out to the D50 that’s fairly easy. If you want to then apply VST effects to the D50 or mix it back in with other instruments in Cantabile you’ll need to route the audio from the D50 back into Cantabile.

Is that what you’re after?


My thought was to simply be able to play the D50 live as one sound within a rack and have other sounds from VST’s to blend from another rack on a song.

Right now I can use the Lexicon Omega and switch the monitor mix from Playback (D50) to Direct (VST). So the D50 is technically playing all the time under Playback and I can bleed it through manually when I want to hear it. The only issue is that when I want to blend in the D50 with other VST’s and then change songs or states using a key on the D50 it makes a sound. I’ve binded the last two keys to use as Midi changes (suppress) and that works great for my VST’s (they don’t make a sound).

I guess I just don’t know enough about what I’m asking for to see if it’s normal.

So my ideal situation would be to turn the Omega to Playback so I only hear the instruments from Cantabile and somehow route the audio from the Omega to Cantabile so that when I add the D50 rack I hear the sound selected on the D50.

Is that possible?

Thanks so much Brad for your help!


Hi Bobby,

Quick question about your setup - is MIDI passing from keyboard to Cantabile to the D50? Or are you playing sounds on the D50 directly from the D50?

To suppress those notes, I guess you’d need to route MIDI back to Cantabile, suppress them and route everything else back to the D50. (Guessing).

An easier option might be to use an unused MIDI controller button if you’ve got one available.


I’m just playing the D50. Sounds like this wasn’t as simple as I thought.

I was hoping I could just control what I hear from the D50 in Cantabile by using a rack (and turning local off), but sounds like I’ll just need to keep doing what I’m doing and manage from the Omega.

Good idea about the MIDI controller. I’ll need to move those changes to a foot pedal or a button on the D50


Hi Bobby,

a quick attempt at a step-by-step to achieve what - I assume - you want.

What we are doing here is: create a rack in Cantabile that

  • receives MIDI notes from wherever in your song (physical MIDI input; media player, whatever…)
  • sends MIDI to your D50
  • receives audio from your D50 via your Lexicon audio interface
  • feeds that audio out from your rack’s audio output so you can use it within your song

How to do this:

  1. if you use your D50 as a control keyboard for your Cantabile setup, then set your D50 to “local off”, so that hitting any note does not make sounds on the D50, but only sends MIDI to its MIDI out
  2. In Cantabile’s MIDI settings, create a MIDI Output port that is assigned to the physical MIDI port your D50 is attached to (your Omega’s MIDI Out, probably) - call it “D50”
  3. If you use your D50 as control keyboard, you’ve probably got its corresponding MIDI input port (Omega MIDI In?) assigned to “Main Keyboard” - that’s good; leave it like that
  4. In Cantabile’s Audio Settings, create a Stereo Input port; call it “D50 Audio In” and assign it to the Omega’s input pair that your D50 is connected to.
  5. Create a rack called “D50” and open it for editing.
  6. Create a (MIDI) route from “Rack: MIDI In” to “Output Port - D50”
  7. Create another route (Audio) from “D50 Audio In” to “Output Port - Rack: Stereo Out”

Save the rack.

Now, any MIDI that you send to the rack gets sent directly to your D50 (make sure that you’ve got the MIDI channel set correctly; if needed use a MIDI Filter to re-map channels). Your D50 should now create noise. This noise is captured by the Omega’s input port and is now within the rack. Your route now sends this audio to the rack’s Stereo out port, so you can blend it with everything else in your song via the rack’s level fader.

You can even add plugin effects within your D50 rack and process your D50’s output before it leaves the rack (and using rack states use different settings - presets - for this plugin). As an example, I’ve inserted an EQ between the audio coming from your D50 and the rack audio out:

Next: if you want to automatically select presets in your D50 by selecting rack states, create a “song state load” trigger within your D50 rack that sends a program change to your D50 (make sure you have the right MIDI channel selected). Also make sure that State Behavior for this trigger has “Action” ticked. Now you can create different states in your rack that have different values for the program change in this trigger. Every time you change the rack state of your D50 rack, the respective program change will be sent to your D50.

If you want to check out what data gets sent to your D50 (so you can see where in your setup something is not working right), I suggest Brad’s built-in MIDI monitor: In your rack’s Routing page, select the route from Rack MIDI IN to D50 and then select “View->MIDI Monitor…” in your main menu. A MIDI monitor window opens and displays any MIDI data sent through this route. Now play your keyboard and see what gets sent to D50 or if things are getting lost on the way:

Good luck!



Torsten thanks this all works perfectly! Loving C3 and all the great enhancements.


1 Like