Hot backup, midi communication?

Tags: #<Tag:0x00007f9784de0030> #<Tag:0x00007f977e73b2f8> #<Tag:0x00007f977e73b230>

Long story short, I need two midi controllers to BOTH talk to TWO computers simultaneously without using Midi 5-pin* cables.

So here’s my situation. I play keys and bass (using amp sims, through the same computer as the keys) live in a working function/dance band. We play somewhere between 75-100 shows a year - almost all one night stands. Setup and teardown same night. Frequently outdoors in the Southern US heat, and in any number of other not-great-for-computers situations (like coastal thunderstorms that frequently come up with little warning). So my computers - despite herculean efforts of maintenance and strict adherence to backup schedules - get banged around and have been known to fail live.

It doesn’t happen often, but it happens often enough that I’ve started having a more traditional “onboard sounds” keyboard (a Numa X 73) on stage - I use it as my second midi controller, but if the computer ever goes down it’s a hot backup.

I would REALLY rather my backup be a second Cantabile Rig. But…the “onboard sounds”/double-as-a-midi-controller keyboard solves one additional problem - it means that one of my midi controller is ALSO triggering my backup rig at all times. It’s triggering itself, obviously. I ALSO use it as my audio engine for Cantabile - so my sound is ALWAYS coming out of that keyboard - it’s just either originating from Cantabile, or originating internally.

So, I could have two midi controllers, both connected to one Cantabile rig, and a second rig powered up with an identical configuration - but in the event of a failure, changing over would mean moving the USB cables from one computer to another, moving the audio cables from one audio interface to another, and then starting the Cantabile engine. That is unacceptably complicated and time consuming for our live show.

[I’m pretty sure with Focusrite audio interfaces, since they have some functionality even if the computer freezes (so long as they maintain power), that I could do a loop where one audio interface’s Out goes to the other one’s In and have a Thru that could be muted until needed - so then I’m always going out of one Interface no matter what, and never have to change audio cables, but I haven’t tested this out yet]

But what I can’t figure out is how to have the midi controller talking to both Cantabile rigs, so that the cantabile rigs could both be actually RUNNING, getting midi signal from both controllers, and continue to do so in the event the main PC crashes. Has anyone done something like this? It seems like a thing other performers would have encountered but I can’t find any information about it.

*I don’t know what the consensus is around here, but I HATE 5 pin midi cables. I’ve found them fragile and unreliable, no matter the brand or cost. I’ve had too many fail on stage, while I’ve had USB cables perform rock-solid for years and years.

I prefer 5-pin DIN, but to each his own. I’ve experienced more problems with USB.

Let me get this right… You want two identical keyboard midi-controllers running the same midi signals to two identical Cantabile-Loaded Laptops using only USB communication. Correct? Basically, play something on either keyboard and both laptops output the same audio to the mixer.

If it were MIDI, I’d suggest running both 5-pin DIN to a merger/splitter then go to each laptop with a MIDI-2-USB I/O box.

My thoughts are splitting USB will require a computer itself which is probably not what you would want since you are trying to eliminate failure points. You might be able to do something with an Arduino. 2 USB INS and mirror to 2 USB OUTS. Hopefully, one of the other users will have a better solution.

1 Like

You’ve pretty much got it.

This is maybe gratuitous information, but just for clarity’s sake:
I use two midi controllers not to have the whole two-keyboard, different-sounds thing - I prefer playing on one manual at a time with splits/layers/scene-changes as necessary. But instead I use two controllers with different weights (one that feels more piano like, one that feels more synth like - specifics have varied over the years), and they are both triggering the same sounds in Cantabile. The bit of potential twist is that they ARE separate midi inputs in Cantabile, so that I DO have the option of them being different sounds - I use this pretty sparingly. But the primary reason I still drag two keyboards to gigs is for backup reasons.

So I would like Controller #1 going to PC #1 (and then forwarding it’s midi data to PC#2) - and Controller #2 going to PC #2 (and then forwarding it’s midi data to PC#1) - with identical audio coming out of both PCs at all times. (The minor exception being that, in the event of either PC failing, I’d be limited to the controller attached to the working PC, but I’d be able to still play all my sounds)

I’m increasingly thinking that the solution is going to be to loop the two audio interfaces into one another with 5 pin midi cables. I guess I don’t mind that as much if I rack them and they stay in place. I think it’s the packing and unpacking, winding and unwinding that causes me to kill 5 pin cables so fast - even though I take great care with my wrapping, it’s still 5 tiny wires getting coiled or uncoiled upwards of 200 times a year. If I have just some midi patch cables staying in place that might be the ticket.

The one other potential option is network midi. I already use RTP Midi to send data to ANOTHER rig running Ableton that controls our lights and a few other bits and bobs (it could probably be incorporated into one of the computers running Cantabile, but that system [if not the physical computer] predates me joining the band. That’s a project for another day). I’m just worried about packet loss. A missed lighting cue is one thing, a missed “note off” message is quite another.

Still sucks that there doesn’t seem to be a way to do this with USB without - as you mentioned - ANOTHER PC or arduino/raspberry-pi/etc to act as a hub. You’d think somebody like CME or MIDI Solutions would be on this.

A MIDI cable solution would be to use this MIDI Merger.

It’s only 5-pin DIN (No USB). Bring each controller into an IN on the merger, then send an OUT to each Laptop. You would need a MIDI-2-USB interface for each Laptop (Personally, I’ve standardized on MIDI Sport 2x2 and have about four backups). The splitter and MIDI IO are all rack mounted for protection. Whatever you play on either controller makes it to each laptop.

That does not resolve your concern with midi cables. My suggestion is to use QUAD microphone cables (five conductors, Canare L-4E6S Star-Quad) if you are using the outer pins with metal MIDI DIN connector then DIY. If you are not using the outer pins, a high quality balanced microphone cable will work. When the cable run is down from the controllers, use a rotatable Switchcraft right angle plug to keep the strain off the connector. Last touch is to Velcro tie-wrap so no cable strain makes it to the controller midi jack. I prefer MIDI cables because they are hot swappable (unlike USB). If you want, run a spare MIDI cable (or more) beside the two that are in use AND keep a good cable tester on hand before setup and sound check.

I’m a proponent of 5-PIN MIDI cables; others on this forum prefer USB. Pick your poison…

Just trying to pick this apart - looks like you want to connect everything to everything (keyboards and computers) via USB so that if one PC fails, you can keep playing seamlessly?

My advice would be to de-complicate things and NOT connect everything back and forth, especially: don’t connect the two PCs - you don’t want one to be dependent on the other.

Essentially, create two fully independent redundant paths of PC/audio interface, driven from your keyboards. If you want “hot standby” (no need to boot up a backup and switch cabling back and forth in case of one PC going down), you’ll need to drive both setups “live” from your keyboard rig.

The only reliable way to do this is: 5-pin MIDI cables! You can have a MIDI splitter between your keyboards and your PC interfaces (you’ll need audio interfaces with 5-pin MIDI connectivity) so they both get fed the exact same MIDI commands in parallel - without needing to route MIDI between your PCs (which will get messed up when one fails).

Currently, there is no “USB splitter” that I am aware of that could duplicate what a MIDI splitter does. Of course, there are KVM switches and the like that allow you to switch USB devices between host PCs, but switching will always result in the devices being disconnected from one and connected to the other - you don’t want that for your live setup. And disconnecting and re-connecting USB devices always bears the risk of messing something up severely - definitely not something you’ll want to have in a live situation.

One compromise solution could work if your keyboards have BOTH a USB and a DIN MIDI conection: use the USB connection with your primary PC and the DIN MIDI connection with your backup PC - it’s easy to set up within Cantabile to have both physical ports map to the same logical port, so your PC systems are interchangeable.

Re your bass: that should be acceptable to just swap out the instrument cable in case something breaks - if you really want “hot standby”, you’ll need to actually split the bass guitar signal and send it to both audio interfaces. Not a big issue; you could get away with a simple Y-cable, but watch input impedances. Not so much of a problem if you use an active bass.

The whole thing about redundant setups: keep it simple, solid and separate! No cross-dependencies, no “single point of failure” if you can avoid it.




Ugh - that would create a new “single point of failure” - what if that device goes down?

Yup - there are tons of MIDI splitters and mergers from CME and MIDI solutions - just DIN not USB. That’s more a problem of the construction of USB interfaces vs. DIN MIDI. USB is point-to-point, not point-to-multipoint. DIN MIDI doesn’t care how many devices are “listening” - it’s not a bi-directional protocol.

1 Like

@Torsten ‘s reply is perfect. I do highly scalable fault-tolerant NonStop systems for a living and his description is the way to do it. Minimize single points of failure and have separate systems with no dependency on each other. Disregard the connection methods (USB or MIDI) and describe what you want to do. Then pick a method that implements your solution.

There is an article somewhere where Billy Joel’s conductor describes his road setup. It is very close to what Torsten describes.



Hi, I used this audio interface for a few gigs (not Cantabile, only playing backing tracks with Traktor).


You can connect two computers via the two usb to host. The two computers will recognize the audio device.

It has an usb input (only one) which will be splitted and sent to the 2 computers.
Each computers will recognize the plugged device too. (I had a DJ controller hooked there to control both Traktor’s)

You can have their plug-in (generating a sine wave) loaded in your master computer Daw/Cantabile.
Once the master computer fails (not receiving the sine carrier any more), the audio interface switches automatically to the second computer with no glitches at all.
You can, of course switch manually.

Lots of audio outputs, but no audio input.

Maybe a device you could consider… :blush:

That’s why I didn’t recommend this interface - without an input, the OP can’t use it for his bass.

Really a pity - the PlayAudio 12 is an interesting solution, but without an input port, I can’t use it either; I play guitar through Cantabile in addition to my keyboard setup.

Also, using the PlayAudio creates another single point of failure. I would assume that it has been specifically hardened and is less likely to fail than a PC, but still. As long as you have few channels to the desk, two separate audio interfaces are the safer choice. Simply pull up different channels on the desk when one PC fails (or sub-mix them in the keyboard rack and just send the sum to the desk).

IMO, the PlayAudio has its sweet spot in setups where you provide a lot of channels to the desk, e.g. multichannel backing tracks. In that case, you absolutely need hot standby with seamless switching, and you’d be willing to accept the SPOF risk in favor of seamless fail-over.

1 Like

Yes, absolutely - you should have the complicated stuff in a rack all pre-set-up and just connect two MIDI cables from your keyboards to that rack - done! And bring spares for these two, then you should be good.

Also makes for quick set-up and teardown…

1 Like

Yes @Torsten I agree about the lack of audio input and the fact that the device itself becomes a weak point.
Maybe not acceptable for the OP, but just worth mentioning…:roll_eyes:

I don’t own this device and it’s a kind of “imposed” setup in this band.

My everyday Cantabile setup is using a tiny Motu ultralite mk3 hybrid, with inputs! (with no backup solution yet):sweat_smile:

1 Like

I think the merger-splitter might be your only option. (And yeah, it probably involves a 5-pin DIN cable or two.) A MIDI Solutions Quadra Merge and a Thru box will provide the connections, but neither one is USB. I use RTPmidi, and it’s very reliable; in fact, I’ve had a couple of USB hiccups over the past six months, but the RTPmidi has stayed solid. I send my Nord Stage and Numa Compact to one of them by USB, and it passes all the MIDI data to the other one with no more than 1-2mS of latency. But the thing is, it requires both computers to be alive to keep the connection in place. If your ‘main’ computer goes down, chances are that it won’t keep a CAT5 connection running. The only alternative would be to have a third PC/tablet/etc. whose sole purpose is to collect MIDI data and pass it to Ethernet.


1 Like

If you’re using RTP midi to pass actual performance data and it’s that rock solid for you, then maybe I’ll give that a go.

Since my hot backup will be an identical rig, my theoretical solution to “both computer have to be alive” (which would otherwise defeat my attempt at eliminating failure points) is to run Controller 1 USB* to PC 1 (RTP to PC 2), and controller 2 USB* to PC 2 (RTP to PC 1) - all sounds coming out of PC 1, and if it crashes, then flip to PC 2 - controller 1 will be dead but I can still control my show from just controller 2. That eliminates the need for a third PC - while still giving both controllers access to all sounds assuming everything is working, and AT LEAST one controller should something crash. It DOES still require both pcs to be up for BOTH controllers to work, but one will get me through a set until I can reboot.

*potentially 5 pin, I’ll consider testing it again. But this would be a run of cable that cannot be racked, and will have to be coiled every night.

Thanks all for the feedback. I’m definitely still considering using 5 Pin cables on the interfaces (Focusrite Scarlett 4i4’s) and racking them after all the positive responses I got from you guys. But I have a couple ancillary controllers that are ONLY USB midi (as is my backup-backup controller that lives at home in case a show controller needs to go to the shop), so I can’t abandon USB anyway.

Speaking of 5 pin and problems repeatedly coiling cables - what’s the consensus around here on doing long 5 pin runs with Midi to XLR adapters and then using xlr cables for the length of the run?

I’m using RTPmidi with 3 MIDI streams (48 channels max.), although I don’t pass data on all of them. I send about 15 or so channels on 2 MIDI streams to my first Cantabile PC, and another 6 or so channels on a third stream to the second Cantabile PC. Communication is about 50:50 unidirectional vs. bidirectional.

As far as using XLR connectors: There’s nothing wrong with this from an impedance or shielding point of view. (Some of the very first MIDI synths used 3-pin XLR connections.) However, I think the original MIDI spec called for something like 15m (50ft) maximum to make sure that the proper currents are driven and data changes match the necessary speeds. If you plan on running longer than that, you’ll need to look into a MIDI repeater.


1 Like

I am using XLR cables for some part of our stage setup simply to be able to run MIDI over standard multicore cabling. Just requires a short length adapter at the ends. Works nicely so far for this specific purpose.

But given that this actually adds more connections (the adapters at both ends) and thus things that can break, this actually adds points of failure. I’m accepting this in order to simplify our setting-up process, but I do bring spare MIDI cables to replace that connection should something break.

And of course you’ll still need to respect the MIDI hardware specification for maximum cable length - XLR cables aren’t inherently “better”.

In fact, I still have some long MIDI cables from some 30 years ago in my setup - they still work nicely today. But I don’t do 200 setups and teardowns per year…

My overall tenet remains: keep things simple - and bring spares!

There are a few others on here that use WIDI to wirelessly send MIDI at relatively low latency, 2-3 MS if I remember correctly. I’ve been using it for about 2 years now, never a problem. That’s just one piece of the puzzle, of course, and you would still need to follow Torsten’s methodology for the splitting and whatnot. But it does avoid a mess of MIDI cables. And it’s cheap, I think it’s now around $40 per unit.

For several years I use a redundant Cantabile/Computer system with two independent computers (all mounted in a box; 17 kg).
I use DIN MIDI and MIDI merger(s) (reliable; hot plug capabable).
The two systems are always synced regarding songs/states.
I can switch songs/song states/show notes (and other things) via a cherry numpad or from the touch screen of the 2in1 Convertibles.

If I deeded a second masterkeyboard I’d first try to use MIDI Thru from the main masterkeyboard or use another MIDI merger.
For some time I also have my personal monitors (KRK GoAux4) directly mounted at the box (now it is about 22 klg)

1 Like

And a cable tester!

1 Like

And a torch!

Although this example is with Allen&Heath Mixers connected to Ableton Live, it could also apply to any MIDI device connecting to multiple DAW such as Cantible.

It has options for both manual and automatic failover but it does require a BomeBox, BomeNetwork and Bome MIDI Translator Pro to pull it off.