Route error - unknown source MIDI port 'Main Keyboard' SELF-SOLVED

I get this error for every song when I try to verify my setlist. I cannot figure out where this MIDI port comes from. I actually deleted all of my MIDI item (to my reluctance) in the main options.

Take a look here:

You have to assign a midi device to a midi port in Tools>Options>Midi ports. Main Keyboard is a default in Cantabile. If you haven’t assigned a midi device to a port, or have no device to assign, you would get the route error in a setlist verification. If you DID assign a device to a different name, then you would use that in your routing instead of the default.

A pic of your midi routing page, and song level routing page would help in solving your problem.

1 Like

Hi TexasEdition,

I think that since you are verifying the set list it involves all the song files that you have edited to date that are in the list. The “Main Keyboard” entries are still in the songs and are not removed by the ports configuration. I think that is the issue at this point but correct me if not. You could also consider using an alias to correct the “Main Keyboard” routes so they thought they were the AXE IO (default) port.



Forgive me, but I am not sure I follow. This is a global setting and it’s the same for every song once that global setting is changed.

Well, in Cantabile there are

  • setlist files
  • rack files
  • configuration files
  • setlist files

so making a global change to multiple song or rack files requires editing each one to remove the entries. They are not automatically removed because you edit the MIDI port settings. SInce a way was needed to rename a port that had been named and used a lot, aliases were created. So my bet is that if you opened some of your songs they would still have the Main Keyboard entries typed into it. That is why an alias is used in this case. For you to check it out you could edit your AXE IO MIDI ports to include the Main Keyboard alias


Then save the configuration and the next setlist verification should reflect the alias changes as well. I hope this helps …


i still don’t understand. When I open up the my files, the I/O settings are the same global setting posted above. I cannot find anywhere that device is listed. I painstakingly recreated all my files and they pass currently.

Hi TexasEdition,

It all sounds and looks good to me as far as how you did it and checked it. I’m sorry it isn’t resolved. This might be resolved by @brad or @Torsten, they might be able to tell you what it might be. It would be nice to see your settings.json file if you can post it to see if that is where the reference is located. To find it go to Tools>Open Settings Folder and find the settings.json file. to post it you would have to put it in a zip file. You could also email the file and a description of the problem to Brad.

Hope it gets resolved …


Hi there,

can you please post one of the song files that throw the error you describe above? Just put it in a zip file and drag it to the post edit box.

I suspect that your songs still have the “main keyboard” MIDI port referenced in some of their routes. Important note: deleting or renaming a port in your MIDI i/o settings doesn’t automatically remove/rename it in your songs if they have been created while the “Main Keyboard” port still existed. If I can take a look at your song files, I can check if this is the case.

The I/O settings don’t get changed by your song - they are, as you describe, global settings. But: your song files probably still reference the “Main Keyboard” port either in their routes or their bindings. When you look at some of the routes (maybe only in some song states) or bindings, you’ll see that they have an undefined source or target port. That is because the song was created using the “Main Keyboard” port - and this port name was then explicitly written into the song file. Now when opening (or verifying) this file, Cantabile will try to connect the routes, but will not find the port “Main Keyboard” (because you have removed it) and the verify process will throw the error you describe.

So don’t look into the I/O settings - they’ll stay the same regardless of the song you are loading. Check the actual routing and bindings of the song for any “undefined” input or output ports. Once you fix those in the actual song files, the errors will go away.

A general rule: you should try to name your MIDI ports as generically as possible - I’d strongly advise against naming them specifically according to your hardware. This may confuse the heck out of you if you change your hardware setup.

Rather use generic port names based on purpose rather than based on hardware, like “Main Keyboard”, “Second Keyboard” or “Guitar Midi Interface”. Note that this port name will be part of all the songs you create using this MIDI port.

That’s why I’d recommend keeping it generic and hardware-neutral - if in one year you buy a new audio/MIDI interface and then rename your ports, all your songs will be “stranded” (unless you revert to “Aliases”, but I would consider that an emergency fix, but not a good solution).

If you use a generic name like “guitar midi interface” (and then connect it in the I/O settings to your actual MIDI interface), changing your hardware is easy without having to change anything in your songs.



1 Like

I would be happy to go through the effort and gather that data if it’s something you want to put into your continual improvement backlog. But if its just to validate I was doing something wrong, I have found a workaround currently and have moved along resorting to the fact that I will need to rebuild all my files every time I change audio devices.

a: I’m not the developer - just an experienced user trying to help, so no development backlog here. Plus, I don’t think it’s a lot of effort to pack a file in a zip archive and post it here, if someone is offering to make an effort to help you…

b: about having to rebuild your song files when you change audio devices: that’s why I posted my advice about using generic MIDI i/o names. You can ignore this advice and moan about having to rebuild all your files when changing hardware - or you can learn from the experience of others and avoid the hassle - your choice really…


Lot’s of sensitivity here.

Between you and Corky, I don’t know what I’ve done to offend either of you, but honestly speaking, there is no benefit for me or anyone else to go through a deep logging analysis exercise only to determine the software is working as designed. There is no way to go back and change my old songs after making changes to the IO device, so the only path to mitigation is to re-create files from scratch; which has been done. If there is, it would be worth the effort. If not, it’s not.

Dude…I am not offended. You asked for help…we were just trying to help you. Cantabile is extremely flexible, and no two setups are completely identical. We asked for information so we could see where we could help you. There are very few sites that have the gracious membership of this forum.

Then I will certainly know, for future reference, not to make an attempt in helping you in the future. Unfortunately, it takes information to determine where the problem may be. No one was trying to invade your privacy or make you do something you were uncomfortable with.

This comment is where you apparently felt someone might be attempting to insult your intelligence…thus my statement in the other thread. Again, I was not offended, but found it rather juvenile considering we were only trying to help.

No…just nice people willing to give their time and effort to help others. Good to see you got things going on your own. Since the problem is self-solved, this thread should be closed, and I am bowing out of these two threads. Good luck on your journey.

Side note:

Many thanks to @Torsten and @dave_dore for always being there to help others. I appreciate all the help you two, and the many others on this site who have given to the community, and especially those getting me through the last 4 years.



Nothing much to add to @corky’s post - my sentiments exactly.

Always a pleasure - I’m learning as much as I’m contributing. This is still my favorite online community - feels like a family :wink:

1 Like

Let me rephrase that… Tons.

I get it, there are a lot of fans of the product here and someone who seems to criticize the product is bound to ruffle some feathers. But doesn’t that improve the product overall?

But I still don’t understand why y’all are so upset. And I still don’t understand why flogging this horse on this problem will be of any benefit if the end result will remain that same.

You haven’t helped me in the past. But this would be an acceptable arrangement.

One last attempt before I give up on this:

@TexasEdition, you seem to be under the impression that @corky and I are acting defensively. This is definitely not the case for me, and, knowing @corky, I believe the same is true for him. It may be difficult for you to accept, but both of us were trying to be HELPFUL:

  • a new user joins this community
  • he tells us about issues he has in working with Cantabile
  • we ask for information that could help in diagnosing and resolving the problem
  • we give advice on how to avoid this problem going forward
  • we describe how we successfully use Cantabile in a day-to-day live context - to encourage the new user that this can be done successfully and maybe learn from our configurations

I don’t really see how this can be construed as being defensive or overly sensitive.

If you don’t want to accept that help, that’s OK, but then you may be in the wrong place in this forum.

The one point where I will politely but firmly disagree with you is the following:

This is plainly incorrect

  • if you follow my advice about abstraction of MIDI and Audio ports (using generic names), you won’t have to change anything in your songs when changing your audio interface
  • If you had followed @dave_dore’s advice about using Aliases for your MIDI ports, you could have simply loaded and re-saved your songs, and everything would have been good - no need at all to completely re-create your songs from scratch
  • Or (nerdy approach) you could have opened the song files with a text editor and replaced the respective port names and fixed the song files that way

Essentially, you made a beginner’s mistake (deleting ports that are used in song files) in a pretty complex piece of software, and the more experienced users attempted to help you. That’s all.

There is a wealth of Cantabile experience in this forum, and everybody is willing to share it and help other users that are new to this software. Even after years of intensive Cantabile use, I profit from this community every day. So can you, if you choose to listen and be cooperative…



Kind of “after the fact” right? But stumbled upon that idea on my own. It would be nice if that was known upfront, or built into some kind of “setup wizard”.

Both decent approaches, but I am sort of a “quickest path to resolution” kinda guy. I just need stuff to work and I don’t have a lot of time to fiddle-fart around editing files when I can just start over and get it done in much less time.

You can go ahead and consider this issue closed but not resolved since there is not any technical talk and just reinforcing what a jerk I am.

To be honest, and I don’t want to upset the iPhone-esque community here, but given this, and the host of other problems I have been experiencing with this application, it seems less and less likely I will using this for a live performance. There is not a lot here that Ableton can’t do. The most attractive quality is the playlist feature and even that can’t be met without hours of root cause analysis. This experience, with the product, and it’s community, has me convinced to outboard all the of guitar and vocal processing and all but abandoned the use of VST instruments in exchange for pre-recorded content.

Quite honestly, all I wanted to know from the beginning if going through all this effort would lead to a “FIX” which has only been indirectly answered now. Instead, everyone got defensive and accused me of being a jag.

OK, it seems you just wanted to rant and not get any help - I get it. Have fun and success with your chosen path…

Cantabile demands a lot of the newcomer. Get through the learning period and you realise the incredible power and flexibility it gives you, but you will make mistakes getting there, and you will have to take a couple runs at getting your ideal set up.

A couple of years in I’m still learning and honing my Cantabile rig, often with the help of the guys here.

I can tell you from recent personal experience that Ableton Live is no easier on newcomers - it’s just different. And it can’t do many of the things I can now take for granted in Cantabile.

1 Like