If you would like a cheap hardware solution I use an Arduino Leonardo microcontroller with a MIDI shield (attachable circuit board) to send ASCII characters from ST3 (or any MIDI sequencer). Total cost for the board and shield around £12 UKP.
There is no soldering just use the Arduino software to upload the code. Push the shield onto the Arduino (note it MUST be an Arduino Leonardo as that board has a full USB implementation. Plug in your midi to the input and plug the USB into your computer with PowerPoint(PP). That also powers the board. Both can easily be obtained on eBay.
To send out to PP from ST3 just put a MIDI Note 0 or note 1 out with the correct velocity number from an ASCII table. Eg a number 1 followed by a return it would be [midi@00:00.01: N0.49@6, N0.10@6] .
To send a b to blank or unblock the screen you would send [midi: N0.66@6], a w to whiteout the screen [midi:0.87@6]etc.
I’ll post the code below
/**** Leonardo_MIDI_Reader.ino v1.02
#include <Keyboard.h>
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
// Define MIDI ID Address
int thisDeviceId=6; //This boards default MIDI Channel Number
// -----------------------------------------------------------------------------
// These functions will be automatically called when a NoteOn is received at the MIDI Input.
// It must be a void-returning function with the correct parameters,
// see documentation here:
// https://github.com/FortySevenEffects/arduino_midi_library/wiki/Using-Callbacks
void handleNoteOn(byte channel, byte pitch, byte velocity)
{
if(channel==thisDeviceId && pitch==0){ // If Key 0 is received on this MIDI ID the velocity is read
Keyboard.print(char(velocity)); // The key velocity is then converted to an ASCII character and sent out of the USB as a key stroke
}
else if(channel==thisDeviceId && pitch==1){// If Key 1 is received on this MIDI ID the velocity is read
Keyboard.print(char(velocity+127)); // The key velocity is then converted to an extended ASCII character and sent out of the USB as a key stroke
}
}
void handleNoteOff(byte channel, byte pitch, byte velocity)
{
}
void setup()
{
MIDI.setHandleNoteOn(handleNoteOn); // Put only the name of the function
MIDI.turnThruOn();
MIDI.setHandleNoteOff(handleNoteOff);
MIDI.begin(MIDI_CHANNEL_OMNI);
}
void loop()
{
// Call MIDI.read the fastest you can for real-time performance.
MIDI.read();
}