MIDI Tool Integrates Real and Virtual Synths
The Live Performance Challenge
Familiar Tools – a Different Way
As performing keyboardists, we are familiar with the concept of layering multiple sounds (patches) to produce a phatter sound, splitting patches over your keys (keyboard split) to play different sounds on sections of your keyboard, and combinations and variations of these techniques, including velocity layering, transposition and more. These types of capabilities have been around since the early days of digital synthesis back in the 1980’s, and the modes that allow you to create and save these settings are referred to by different names depending on the instrument manufacturer. Common names are “Combination” (combi) or “Scene”, so let’s use the name “scene” on this post. Once you have programmed and saved a scene that has the mix of sounds you want on your instrument, you can easily call it up using a keypad, a touch screen, or some other means.
Without these functions you are limited to calling up single patches on each keyboard synth. This may be enough for you if you play using a small set of sounds like piano, organ and strings on your entire performance. However, in my opinion, these functions are essential in a live performance, allowing you to produce fresh, more complex and greater variety of sounds on each song, to come closer to the sound of your cover songs – if you’re in a cover or tribute band – or closer to your original sound if you recorded originals in a studio.
The Tools Have Hard Boundaries
The problem with that is that you can only create scenes within the confines of an integrated instrument. You cannot easily accomplish this if you need to mix sounds from different synths, especially if some of these are virtual instruments on a computer or tablet. Each discrete instrument must be set up individually, either manually or through some external control, in order to call up scenes during a live performance, and this challenge can overwhelm a performer. This discourages the keyboard musician from using all the capabilities available from her instrument when playing live, often resulting in a duller performance.
When I go out to listen to musicians around town, no matter how great the musicians are, I often notice that, because of the limitations I eluded to, they just keep reusing the same sounds on every song, not even changing the tone of the guitar(s). After a while, every song sounds like the previous, and the performance descends into complacent drudge. And the reality is that when you are performing live, especially in a club where music must go on without breaks, it’s difficult to manage complex changes to your gear on the fly to address this issue. It’s somewhat easier in a concert where the audiences may be more forgiving and can be satisfied with some chit-chat between songs.
Breaking Down the Barriers – The Matrix
Having encountered these problems and frustrations myself, I set out to resolve them when I joined a band again about ten years ago after a long career in electronics and software development. The solution was to design a software-driven MIDI matrix of inputs and outputs, such that you can totally separate the control signals from the inputs of the synths. By connecting the MIDI output of each of your controllers (keyboards, trigger pads, control surfaces, etc.) to the MIDI inputs of the matrix and then also connecting all your sound sources’ MIDI inputs to the outputs of the matrix, you can reconfigure the routing of your playing from any of your keyboards onto any of the synths connected to the matrix, including virtual instruments in your computer, instantaneously and on the fly.With this type of setup we can add functionality to the software-driven matrix to facilitate features such as transpositions, chord mapping, note followers, interval generators, continuous controller (CC) filtering, CC translation, and the like, to create a central device where you can set up scenes that use, not one instrument or synth, but any and all synths you have available on your setup, including virtual ones in your notebook or mobile device. The illustration shows the apparent simplicity of the concept.
Of course the matrix alone does not solve the problems until you couple it with a smart and well-thought-out user interface that can, to start with, allow you to save and recall the configurations you create for the matrix. Once you have established these configurations, this is where the fun begins, as you are now able to create layers, splits and transpositions from ANY of your synths, not just within a keyboard workstation, and you can treat your entire setup as if it were a single digital instrument.
You Decide… The Blue Pill or the Red Pill
In the movie The Matrix, if Neo takes the blue pill, he wakes up in his bed. If he takes the red pill, Morpheus shows him “how deep the rabbit hole goes” in the Matrix. Did I get this backwards? It doesn’t matter. If you want to keep the status quo in your performances, take the blue pill, and this blog post goes away. If you want to learn more about the possibilities, let’s take the red pill and examine the matrix!
So how do we realize this MIDI matrix and all its capabilities? Well, today’s computers can process audio at breakneck speed with virtually unnoticeable latency. If a computer can process audio this efficiently, it certainly can run circles around MIDI data. So a laptop, such as many musicians take to the gig, or even a tablet, is an ideal environment to create the most flexible and feature-rich MIDI matrix you can imagine. Dedicated hardware is not necessary. All you need is a MIDI interface (or several MIDI interfaces) with enough ports to connect each of your multitimbral synths, keyboard controllers and control surfaces to your laptop, and optionally, an internal MIDI bridge utility to route MIDI to the virtual synths that you want to use live on the same laptop. If all your devices use class compliant MIDI over USB, you may not even need a separate MIDI interface to do this.
To fully integrate your already integrated workstations to this type of setup, you simply need to put the workstation in LOCAL: OFF mode, at which point the keyboard becomes just another controller on the matrix, and the internal synth engine becomes another engine available for you to use in your integrated setup. In case that confused you a bit, I really mean that, with the matrix, you can set up scenes where you control instrument B from the keyboard of instrument A.
Convinced yet? Where is that red pill?
Midi~Kuper – The Red Pill
After several years of prototyping, field testing and improvements, my company (mu-C Kuper) finally released the first commercial version of this concept. We call it Midi~Kuper.
Midi~Kuper implements the matrix I discussed, including the ability to split, layer and transpose sounds from any of your synth engines onto a single controller, or a multiplicity of controllers. It allows you to use as few keyboards as you are comfortable with on stage without the concern you will need a sound on a certain keyboard that you cannot put there otherwise. Remember, this product integrates all your synths into a single point of control and the boundaries between synths and controllers fade away.
In order to make you feel like you are dealing with a single instrument made up of all of your available synth engines, the user interface was designed to be streamlined and intuitive, with bubble help everywhere. While constructing scenes, the interface looks like a rack of processors, with the most common controls one click away, and expandable sections for more advanced features. Each control strip in the rack establishes a connection from any of your MIDI controllers to any of your synth engines. You can connect multiple engines to each controller, as well as merge signals from different controllers into a single engine. So for example, if you want to use your control surface sliders as Hammond B3 drawbars, you can merge signals from the control surface with the signals from the desired keyboard into the B3 emulator, virtual or otherwise, to achieve this result. For multitimbral engines, each control strip can send MIDI from any controller to a particular MIDI channel on the given engine, so you can take full advantage of the multitimbrality of your instruments.But the difference is that Midi~Kuper will be able to assign patches to each of these channels on the fly based on the scene you construct. More on scene construction later.
When you put Midi~Kuper into live performance mode, the interface presents a touchable/clickable transport control strip, with additional buttons for scene selection while playing. The app is designed to receive commands wirelessly from any mobile device running Lemur (we are currently working on a proprietary, free remote control add-on for mobile devices). So during performance, you can just tap a big button on your iPhone or iPad to advance to the next scene in your song, or the next song in your performance. If you need click and backing tracks too, it also provides transport control, including song indexing for your DAW, with included configurations for Ableton Live and SONAR.
Assigning scenes to songs and making set lists out of a song list is achieved through simple drag and drop operations. The layout of Midi~Kuper’s windows is such that they always try to occupy the least amount of screen space possible, allowing room for other programs you may want to operate in parallel, such as a DAW, a virtual instrument host program, or the virtual instruments’ UI’s. To do this, we abandoned the concept of a multiple document user interface with a single window within which all other windows must fit. From personal experience, this is not practical for this type of app. Instead, Midi~Kuper uses floating windows we call control strips that you can place anywhere in your workspace, including multiple monitors. It always “remembers” where you last placed these windows so you get a repeatable experience every time you launch the app.
In addition to the general things described above, Midi~Kuper has lots of features to help you during your performance, displaying lyrics and song cues that can be placed on any monitor at any position desired. This can assist the entire band to achieve repeatable consistency in song tempos and, if you have a large repertoire, present the key and other stats for the song that you may want to share with your audience. If you frequently have musicians that fill in, the song key display will assist them keeping up with the performance. It will also help that one member that plays in other bands and can’t remember what key this band plays the song in. (That’s me).
Down the Rabbit Hole
Midi~Kuper is loaded with features to enhance and assist your performance. Let’s get into some of this detail.
We already discussed the ability to create splits and layers on a single keyboard using any of your available synth engines hooked to the Midi~Kuper matrix. In addition to normal layering, Midi~Kuper has the ability to construct velocity layers, again using any group of synth engines desired. For those not familiar with the concept, velocity layers allow you to determine which patch (sound) will be produced depending on how hard you play a key. So for example, a common velocity layer setup might be to have a string pad that is layered with a brass section when your playing exceeds a certain velocity threshold. So if you play softly, you will only hear the strings, but if you start playing harder the brass section will start to come in. Normally you can only produce this effect within the same physical instrument if it has that feature. Midi~Kuper allows you to create this type of layering mixing sounds from any of your available synths.
Achieving Huge Multitimbrality
Midi~Kuper has the ability to send program change commands to the synth engines. In addition, it lets you leverage the capabilities of your multitimbral synths by seeing each MIDI channel as a path to an individual synth engine. Because some synths, especially the virtual ones, can produce undesirable glitches in the sound when executing program changes, it is best to pre-configure your multitimbral devices with the sounds you always use on all but one channel, and leave one channel for patches you may need to change. So for example, if your synth can handle 16 multitimbral parts, one on each MIDI channel, you would set up your most used 15 patches on the first 15 channels, and leave the last channel as one that you will change on the fly via MIDI program change. On the other hand, if you are using virtual analog emulations such as emulated Mini-Moogs or say a Z3TA+ virtual synth, you can set up multiple simultaneous instances of these in your computer to avoid the need for program changes in the middle of your performance. With the exception of these possible conditions, Midi~Kuper will always switch seamlessly between scenes without hung notes or notes cutting out prematurely.
Continuous Controllers Management
Midi~Kuper also provides continuous controller (CC) processing so that you can filter out, translate or scale or even invert CC data on the fly. For example, I find that Expression (CC 11) control does a better job on certain B3 emulations than Volume (CC 7). However, my controller puts out Volume (CC 7) when I move the volume pedal. Midi~Kuper easily translates CC 7 to CC 11 in my B3 scenes. I only have to set this up once and problem solved. Another handy feature is filtering, where supposing you have a controller that is constantly putting out channel pressure signals to a synth that does not respond well to these, or gets messed up if there are too many. Midi~Kuper gives you the ability to block or filter any CC such as channel pressure on any track in your scenes to get around this issue.
Note Processors – Playing with 3 Hands
Midi~Kuper also supports note processors that can help you get more out of your playing. Currently it supports a Note Mapper and an Interval Generator, with more processors coming in future releases. The best way to illustrate how these can help your performance is to use a specific example – the piano intro of Minute by Minute by the Doobie Brothers and Michael McDonald. Yes, it’s an old one, but a great example. The intro has a left hand bass walk-up in octaves with full chords on the right hand for every two bass notes of the left. A skilled keyboard player can play this readily. However, many players with less than optimal chops may have trouble with this progression. But even if you are a skilled player that can handle the intro without trouble, this intro occurs again in the song at the same time a lead is played on an analog synth. Unless you have 3 hands or a second keyboardist in the band, your skills will not help you here. However, with Midi~Kuper’s Note Mapper, you can map the chords the right hand is supposed to play onto the bass notes played with your thumb on the left hand, and that frees up your right hand to play the lead on a second keyboard or on a split section of the same keyboard. For those players with less chops, this feature allows you to play the intro with just two fingers! I will have a demo video on this in our YouTube channel shortly.
The other processor currently available, the Interval Generator, can produce intervals that follow a set scale (chromatic, major, harmonic minor, Dorian minor, etc.) to help you do similar things. For example, it’s great for salsa piano riffs and accompaniments, jazz bass progressions, as when Oscar Peterson plays in 10ths that my hand cannot reach, and other special effects.
Now stop and think about that for a moment. You now have an app that can create layers, splits, transpositions and other useful functions using ALL your synths. These magic scenes or combis that you could only create within the confines of a single instrument can now be created using sounds from any and all of your stage synths. You are no longer confined to do this from a single instrument. It is now possible as an example to split an 88 note keyboard into three sections, one with a piano coming from a physical synth or say Spectrasonics’ Keyscape on the computer, another with a B3 coming from an emulator box, and the third section with a layer of horns from another channel on the first physical synth and string from a Kontakt sampler in your computer. And you can call up such scenes on the fly without any delays or glitches because Midi~Kuper makes sure that the transitions between scenes are handled seamlessly.
A Note about Virtual Instrument Use on Stage
One of the reasons I designed Midi~Kuper was that I wanted to be able to use the same virtual instruments I love in my computer when I am composing, but in a live stage. The usability of virtual instrument hosts I have looked at is limited, and while using a DAW like SONAR or Ableton Live as virtual instrument hosts has its great advantages, they are not set up to be particularly friendly managing changes during a live performance unless you are playing DJ style.
Midi~Kuper is a great complement to these hosts because of its ability to leverage virtual instruments in such a way as to achieve multitimbrality. Suppose you have to reproduce the sound of three simultaneous Mini-Moog patches, but you cannot afford to put three of them on stage (they are expensive). Well, if you have a good virtual version of the Mini-Moog or a great virtual synth like Z3TA+, you can run three or more instances of these synths simultaneously using different patches and Midi~Kuper can combine them, layer them, split them, transpose them by way of a scene setup, send program changes, and then combine them with all your other synths without consideration for physical boundaries.
The possibilities are endless, allowing you to even control devices such as voice processors and guitar pedals based on the song you are performing. Here is an example diagram of a setup I have used on stage.
Notice that Midi~Kuper now has the ability to not only manage my synths and controllers, but also to change the sound on my guitar, and settings on the vocal processor, as well as sending chord information for the voice processor to follow.
Managing your Performance
Midi~Kuper is not only capable of creating these instantly callable, very complex scenes using any or all of your available synth engines, but it provides this capability in pursuit of its primary goal, which is to elevate the quality, professionality and variety of your live performance while at the same time, simplifying your workflow. Let’s examine these details further.
Midi~Kuper can maintain your song lists, as well as data associated with each of these songs. As you create scenes (single selections or combinations of selections from any of your synths mapped onto your selected controllers), you can assign them to one or more songs. Each song can have one or more scenes in sequence assigned to it. Scenes can be repeated within the same song if you want to select them sequentially and they do in fact repeat. For example, two verses with one scene, a bridge with another scene and back to the verse scene. If your song performance is more free-flow, Midi~Kuper allows you to randomly call up any of the scenes assigned to the song as you perform at the touch of a button on your remote control device or touch screen.
Scenes can be assigned to more than one song. The separation of song and scene was made to give you this flexibility.
Once you have assigned at least one scene to every song, you can create set lists of songs. When you are ready to perform a given set, you can put Midi~Kuper in performance mode, and then just step through the scenes in your songs at the tap of a big button on your remote device or on your touch screen. In the meantime, Midi~Kuper will display on its cue strip the name of the song, its key, its tempo (with a blinking indicator), its author and release date if you have entered this data for the song. If you entered lyrics for the song, a separate window will pop up at your designated monitor, size and location, to display the lyrics.
Supported Environments and Future Plans
Don’t quit reading on me yet, but currently, Midi~Kuper works only on Windows 7 or above in most processors that run this operating system. I have run it on a $170 tablet with an Atom processor running Windows 10, taking advantage of its touch screen capability.
We are keenly aware of the fact that most musicians prefer the Mac environment, so we are working diligently to release both Mac and iOS versions. We do not have a firm release target date at the time of this writing, but we fully expect to complete the effort in 2018. We also just released a freeware version that will have all features except note and CC processing. The full version (Midi~Kuper Pro) gives you a fully functional 30-day free trial, after which you can purchase a license to activate the product permanently. You can get your copies at
Putting it All Together
Midi~Kuper is an application that allows you to create a flexible MIDI matrix that will reconfigure your gear’s MIDI routing on the fly, with features that were only previously possible within the confines of synth workstations. Midi~Kuper allows you to break these boundaries and limitations and treat all your gear as an integrated set of synth engines that can be combined, split, layered and controlled as if they were a single instrument. It also manages your live performance, drastically changing your sound seamlessly and instantly, using any or all your available synth engines and controllers in any configuration you desire. So give it a try, and let me know what you think.