What you'd really like is a program that does all the work for you, It should start recording when you start playing and automatically save your performance in a Standard Midi Format (SMF) file at the end of each tune. When you get home, you can transfer the SMF files to your studio computer, edit the bad notes, and render beautiful sound tracks by using whatever great piano module or soft synth you prefer. But you need the recording program, one that does all the things I just wished for.
That's exactly what MidiRecorder does. I wrote this program because the situation I just described is the situation I find myself in almost every week.
Type on the computer keyboard the number of the input device in the list to which you connected your keyboard's MIDI OUT port and press Enter.
See Command Line Parameters for an explanation of how to control input device selection with a command line parameter
MidiRecorder needs to know which MIDI Output Device you wish to use for its MIDI THRU signal. MidiRecorder will send the MIDI event messages it gets from the input device to this device.
You would use this feature, for example, if your piano synth does not have a MIDI THRU connector. You want the keyboard's MIDI events to go to the piano synth and you want them to go to MidiRecorder.
Normally you would cable the keyboard's MIDI OUT to the synth and the synth's MIDI THRU to the MIDI IN of one of your computers input devices.
If the synth does not have MIDI THRU, cable the keyboard's MIDI OUT to the computer's MIDI IN and have MidiRecorder send the events it receives to the computer's MIDI OUT port, which you cable to the synth's MIDI IN.
MidiRecorder lists the available devices and asks you which one it should use for MIDI THRU. The following screen shows how it does that. My computer has three possible MIDI output devices. MidiRecorder lists them and asks you to select one.
Type on the computer keyboard the number of the output device in the list to use for MIDI THRU and press Enter. Or type the digit zero (0) and press Enter to suppress THRU event messages.
MidiRecorder now waits for you to begin playing the piano as shown here.
See Command Line Parameters for an explanation of how to control output device selection with a command line parameter
If you do not see the message, "Collecting midi data..." as soon as you begin playing, something is wrong with the MIDI connection between the keyboard and the computer.
See Command Line Parameters for an explanation of how to control the minimum length of a tune with a command line parameter
As you might have guessed, if you are playing with a group and lay out during a bass solo or comp sparsely, MidiRecorder might misunderstand your silence for the end of the tune. MidiRecorder is meant primarily for capturing solo performances. Three seconds is a long time to not play any music during a piano solo.
Observe that MidiRecorder names the SMF files with an ascending number suffix. It always starts one greater than the previously recorded tune, even if you are starting a new session.
There is an option, however, for creating and naming folders into which MidiRecorder stores the files. This feature allows you to organize the accompaniments for various performers to make it easier to sort out which SMF files are for which performers when you get back to the studio.
To use the folder option, press F on the computer keyboard at any time when MidiRecorder is standing by waiting for MIDI data input. This action displays the following menu:
The items in the menu are the folders to select. To select a folder:
If you select the last menu item, "Make a new folder," MidiRecorder asks for a folder name, which you can enter as shown here:
When you press Enter after typing the new folder name, MidiRecorder displays again the folder menu. Select the folder you wish to use as described above.
The command line parameters are:
Where [device #] is the input or output device to use as if you selected it from the list in the procedures explained above, and [number of seconds] is the minimum number of seconds a tune must last before MidiRecorder will consider it long enough to be recorded to an SMF file.
Separate the options with spaces on the command line. They can be in any order. Don't put spaces around the equals (=) characters.
If you use either of the device selection command line parameters, MidiRecorder does not display its list of devices or ask you to enter its value.
You must configure MidiFitz to read the keyboard and to send all its MIDI event output to MidiRecorder's MIDI input.
You must configure MidiRecorder to read its input from MidiFitz's output and to send the MIDI events to whatever MIDI OUT device you are using.
To do all the above, you need to install a MIDI driver that serves as a conduit for MIDI events between applications that themselves read and write MIDI data.
Midi Yoke is such a driver, and you can download it for free.
With MidiFitz and MidiRecorder connected, you can perform with computer-generated realtime accompaniment and record your performances without having to tend to a sequencer.