I'm looking for a tool to control VST instruments through my epiano midi. My goal is to play a song, and having the DAW (or whatever) detect the tempo by analysing what I'm currently playing.

Question: is that possible at all?

I would want to create some kind of "song template" that syncs automatically with my play, and could automatically switch sounds in time. I could achieve this by using the DAW automation settings to control VST instruments.

Like: starting with a string sound in the intro and verse, and switching (or adding) additional piano sounds automatically in the chorus.

I could program the template beforehand (as number of bars are known for each verse/chorus). But I don't know how I could sync this to my live playback, so the DAW knows the exact time to switch?

Or if that's not possible to live-detect the timing just by what I play with my midi keyboard: is there any program that can switch sounds by midi signal? Like a C5 key could active the verse sounds, an D5 the chorus sounds?

3 Answers 3


That should be possible, especially with MIDI as notes are coded as orders. However, have you think about how risky that would be? An algorithm trying to detect the tempo and then counting the beats in order to manage a transition would have some chances to fail somewhere. If that would be the case you would have no way to recover which, for a live performance is a bit annoying…

Your second solution seems more practical. What you really want to send is a ControlChange or a ProgramChange order. On most MIDI keyboards you can assign a button (or several) to perform this. If you do not have the time to take your hands of the keyboard (the playing part) then I am sure there are programs (like QMidiRoute on Linux) which are able to detect a specific MIDI order (like a NoteOn on a predefined specific note) and modify it to output a ProgramChange for instance. In my opinion that would be way more reliable for live, but beware to press only this note when you want a change to happen!

A last way that you did not mentioned (maybe because it needs purchasing) would be to have a MIDI foot controller. By a foot press on one of the switches you can send MIDI signal to your DAW saying that it has to change the sound. This solution would not "remove" some keys from your keyboard to assign them to something else and would keep your hands free…


Using designated MIDI notes as control messages - 'key-switching' - is standard practice in sequencers such as Cubase. It's also an internal feature of some virtual instruments.

Musical Theatre keyboardists routinely use MainStage on a Mac computer to play the complex and ever-changing patches that have become their stock-in-trade. Program switching is typically by a footswitch, but could easily be by a 'hotkey' on the keyboard.

Tempo detection is sometimes used when a backing track needs to 'follow' rather than lead the tempo. It can work, when the keyboard playing is very disciplined! I think, however, that a footswitch or keyswitch will suit your purpose better and more reliably. (It doesn't HAVE to be MainStage on a Mac. It's just that they've cornered the MT market at the moment.)


I'll assume that your real question is, how to change sounds in the middle of a song. This is an age-old need and your idea of pre-programmed and timed song sequences is only one way to do it. There are many different strategies for it. I'll try to list a few.

  • Make a sequence ("template song") for each song's exact bar structure and the sound changes and sync your live playing to the sequence. You'll need to listen to a click track when playing. Computer says click click click and you obey. This is essentially the same as playing over a backing track, a commonly used strategy in many sequenced shows and mixed electronic/rock/vocal genres where some instrument parts (or lighting or special effects) are sequenced. The sequence could include played instrument tracks, but in your case it only changes sound settings.

  • The same as above, but adjust the sequencer's tempo with a tap-tempo sort of pedal or other syncing device that generates MIDI clock and you can make the sequencer follow your tempo. I'm not sure if this makes running the show easier or more difficult. There are even products that try to sync to the tempo of incoming audio, but I don't think they'll follow anyone's piano playing. And what if you make a mistake and the sync program decides that you just sped up by 50% and speed-runs five bars ahead of you.

  • Make a sequence for each song, but with a "scene" for each part like verse, chorus etc. and you can manually trigger the scenes with MIDI commands like key-presses or control changes, etc. from a keyboard or foot controller. Ableton Live supports this, and maybe other programs and utilities as well. Whenever the verse/chorus etc changes, you say to the sequencer "next scene please", with a foot controller, key-press, control-change etc.

  • If your keyboard or synth has lots of changeable user memories, you can program the sounds or program-changes for all parts of songs or entire sets of songs into the user bank programs. For example, preset 001: song 1 intro, preset 002: song 1 verse, preset 003: song 1 chorus, ... etc. You start the song (or whole set) from preset 001 and every time you need to change sounds you just press NEXT. Programming the songs or sets can be tedious, but some players use this method.

  • Limit your playing to only a few sounds and use the sounds as a single instrument and as your natural expression. Do you really need dozens of different sounds? Would three sounds be enough? Are you a cover band working as a human jukebox, expected to replicate all the same sounds and effects that are on the record everyone knows? How about using just a couple of sounds, and adding a piano when you want the extra power. Guitarists can dial in more power and distortion as a part of their musical expression, instead of trying to be a timed theater act. Use a MIDI volume pedal that brings in the piano when you want power. There's nothing wrong with playing the whole gig with just one Rhodes sound! If you want to change the sound, activate an effect or change the amount of drive or distortion. Learn to accept sound-changes as a part of your instrument, just like pressing the keys is. Drawbar organ players use the drawbars (and Leslie control) as part of their musical expression.

  • Use multiple keyboards. The lower one is your master keyboard where you have your main grand piano etc. and the upper ones are used for auxiliary sounds like pads, leads etc. This is like an organist using multiple manuals.

  • Another option that works in in some scenarios is to split the keyboard -- for instance, I might have a piano sound covering most of the keyboard and a synth lead in the upper octave or two. Also, great point on the volume pedal/expression. I often like to map the modwheel to a low-pass filter on my pads, as that way I can smoothly thicken or thin the sound during performance.
    – NobodyNada
    Oct 25, 2020 at 2:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.