Built another little tool that works nicely with Cantabile: MidiAlert

Hi all,

beware: this post will be somewhat lengthy, but there’s some new free software to go with it :wink:

One of my pet peeves with my live setup is that I have a nice binding in my background rack that allows me to switch all effects processing on my VoiceLive voice processors to bypass with a button on my keyboard - pretty useful when talking to the audience between songs without a huge delay-ay-ay getting in the way (let alone harmonies - they sound pretty ridiculous when talking). The only problem: I was missing a big friendly indicator showing me that my effects are on bypass to make sure I turn the effects back on, so that my voice comes into the next song in all its processed glory :wink:

So what I wanted was something like this:

And I think I recall that @Neil_Durant was looking for something that could give him an easy optical cue that a state change had REALLY happened - at the time I suggested to use an “execute external program” binding to trigger whatever visual effect necessary - but maybe I could solve both of our issues?

OK, I’ve had some free hours and the chance to sit down with my trusty old C++ compiler - and as you know me, I went a bit overboard on this simple tool… The result is now available for free download (links below).

MidiAlert is a little utility that can display pop‐up message boxes triggered by MIDI commands (note and controller).

MidiAlert allows you to specify 10 different alerts that react to individual MIDI commands and display a specified text in a nice and bright individually colored box in the middle of the screen. It allows different alert behaviors, namely “momentary” (alert is displayed as long as a key is held or a controller value is >64), “toggle” (alert is alternatively turned on and off by the same MIDI command) and “splash” (alert is shown with a key or controller event and closes itself after some preset time).

Note: MidiAlert message boxes are exclusive – while one is displayed, no other can be triggered! No alert box madness with this tool :wink:

When you start MidiAlert, it simply creates a friendly orange circular icon in your system tray. Right-click it and you can exit MidiAlert. The rest happens automatically.

You can customize MidiAlert a bit, from the size of the box and its fonts and colors to the MIDI messages triggering the alerts and the individual alert behaviors for the 10 possible alerts.

So for my VoiceLive problem, I simply added a local “virtual” Midi port (using loopMidi) between Cantabile and MidiAlert, added it to my “VoiceLive” virtual midi port; now Cantabile sends everything that it sends to VoiceLive to MidiAlert as well. Within MidiAlert, a setting with a “momentary” alert reacting to CC114 pops up an alert box whenever VoiceLive is bypassed - done!

For @Neil_Durant, a binding in the background rack on “SongStates->OnLoad” could send a Midi note to the virtual Midi port routed to MidiAlert. Within MidiAlert a “splash” mode alert could now pop up on every state change.

I’ve built MidiAlert for my own use, but I hope it can also be useful to other VST musicians. Surprise me with the creative uses you find for it!

Now for the download links (manual included):

Installer: ClickMe!
Installer, wrapped in ZIP file: ClickMe!
Simple ZIP with the relevant files: ClickMe!

This is the first live version - give it a whirl and let me know if something’s not behaving as it should!

Have fun!



Oh man, this has tons of potential! I wish I could try it this weekend but there’s no time. I’d love to have something as simple as a little popup to say my state had really actually changed that is visible from the corner of my eye… is there a way to set the length of time the pop up stays open?

That looks cool, @Torsten, and I’m sure there are many uses beyond those you mention in your post. Looking forward to playing with it this weekend. Thanks for sharing!!

I see the configuration ideally requires MidiEnum, from the LivePrompter install - where’s the latest version of that?


Yup, you set this in MidiAlert.ini: SplashDuration=5 means the pop-up will stay open for 5 seconds. Simple as that…



1 Like

Latest version of LivePrompter (with MidiEnum included) is in this post.

I’ll really have to get around to building a proper website for LivePrompter…



1 Like

I figured you were on top of that! g Could I set it to randomly pop up inspirational messages as I play to keep me from despair when I’m having a terrible night??


Very nice Torsten !!:smiley: I am already imagining what I could do with this ! Thanks for sharing.

Nice idea. I can see plenty of uses for it. We will have the same problem in my Carreg Ddu duo as the singer uses a Voice Live 2, and I am currently programming it. A bypass feature will be a must, as the singer is a bit of a technophobe and will probably forget about the bypass feature on the pedal.

But I was actually just thinking of building the CC switching into the MIDI file for the pedal that Cantabile plays. I.e start of song send BYPASS OFF CC value, end of song send BYPASS ON CC value.

But an indication of state change would also be great.

I guess that’s probably a different project - MidiZen or MidiYoda (“rhythm he not has, but loud he is”) spring to mind…


BTW: I didn’t mention this in my original post: in a multi-monitor setup, you can define in the settings which screen the alert should be displayed on. Simply set DisplayNumber=2 if you want alerts to be shown on your second screen. If you have more than two monitors, find the correct number in your Windows display properties (“Identify”).



1 Like

Just an update on my own post. I suddenly realised a better way of doing the bypass! I use STEPS in Voice Live 2 for different song segments (e.g. harmony in chorus, light doubling in verses), so I have just programmed the patches so that the first step has no effects active. Return to 1st step at end of song, and start next song on its first step, so in between songs there are no effects and the sound is dry. That means in Cantabile I only have to program one CC for Voice Live (the step one).

I still love this Midi Alert idea though, and will have a play with it. I am also thinking Voice Prompter as well as my singer likes the comfort blanket of Words in front of her, and I think it would be a lot better to have something other than a big folder on a music stand!

1 Like

Hey that looks cool!
Thank you Torsten


@Torsten… Feature request…how about a right-click option on the MidiAlert tray icon to re-read the INI file? When doing lots of config tweaks it would be so much nicer than closing MidiAlert and re-launching :slightly_smiling_face:


Great idea! I’ll put it on the backlog…

1 Like

Hi Torsten, I’m thinking of using this as I no longer need the lyrics displayed. I’ve ‘downsized’ from liveprompter back to c3 notes. I still need the occasional reminder to pop up when viewing routing rather than notes.

Would it be possible to increase the limit from 10 messages to a minimum of 128?

I’ve been thinking abour reworking MIDI Alert to simply accept Sysex messages that contain messages in a string. This could be far more flexible, e.g. display the loaded song or state.

Would that help?

oooh, yes that would be perfect I think. I’ve not used Sysex before, but If it displays a string I can build up in C3, then that would be ideal!

Hey Al & everybody,

I’ve now built a new version of MIDI Alert (MidiAlert2) that works (only) with SysEx messages. Now I can create a quick pop-up on my LivePrompter tablet that shows me the currently selected song and state when I press my big red button - great!

There is a compact manual included in the download, so give it a whirl and let me know if something’s still unclear.

Installer: ClickMe!
Installer, wrapped in ZIP file: ClickMe!
Simple ZIP with the relevant files: ClickMe!




Thanks Torsten, I’ll try it in the next couple of days.

Torsten, this is brilliant - thank you for writing it.

I am initially using it to display reminders that I need to manually advance a state as we come up to a Solo. With the variables I only need a few standard messages at this point, so I’ve made a rack and use the rack states to trigger these standard messages. Any custom messages I can then put directly at the song level.

1 Like