User's Manual


Table of Contents


Introduction

You're a solo piano player in a lounge, and you play a digital piano. You'd like to record what you play, either to assess your performance later or to have tracks for a CD that you can sell from the stand or give to your friends and family. But the joint is noisy and the piano's samples are marginal to say the least. An audio recording just won't provide what you want. You'd prefer to run a MIDI sequencer on your laptop and record each tune as a MIDI sequence. But sequencing programs such as Sonar require a lot of attention to run. And you'd rather concentrate on the audience and the tip jar.

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.

Al Stevens, Piano Player

Starting MidiRecorder

MidiRecorder is a command line, console program that runs with the Windows family of operating systems. You start it by double-clicking the MidiRecorder.exe icon in whichever folder you installed MidiRecorder.


Selecting a MIDI Input Device

MidiRecorder needs to know which MIDI Input Device you have your keyboard's MIDI OUT port connected to. MidiRecorder lists the available devices and asks you which one it should poll for keyboard note and pedal input. The following screen shows how it does that. My computer has two possible MIDI input devices. MidiRecorder lists them and asks you to select one.

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


Selecting a MIDI Output Device

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


Playing a Tune

As soon as you play the first note or press the sustain or soft pedal, MidiRecorder begins collecting the MIDI events that your keyboard sends to the computer through its MIDI OUT port.

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.


Passages That Are Too Short

MidiRecorder considers a tune to be completed when three seconds pass with no input from the keyboard or pedal. But many pianists noodle on the keys or push the pedal between tunes, which causes MidiRecorder to begin collecting MIDI data. MidiRecorder has a minimum number of seconds that a tune must last before MidiRecorder considers it to be long enough to save as an SMF file. That duration is displayed when you first start MidiRecorder. If you stop playing before the tune has lasted that length of time, MidiRecorder discards the MIDI data it has collected as shown here.

See Command Line Parameters for an explanation of how to control the minimum length of a tune with a command line parameter


Ending the Tune

Just play the tune until it is over. Stop playing when you are finished. When MidiRecorder realizes that three seconds have passed with no keyboard input, MidiRecorder records the tune into an SMF file and waits again for you to start playing.

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.


Playing Another Tune

No surprise here. Just start playing again and stop when it's over.

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.


Exiting MidiRecorder

It's easy. Make sure that MidiRecorder's console window is active and press Ctrl+C on the computer keyboard.


Where are the Tunes?

By default, MidiRecorder stores the SMF files with the filename midfile[nnn].mid ([nnn] is the numbered file suffix) in the folder where you installed MidiRecorder itself. You can play back the files by using any media player that supports SMF Type 0 files.

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:

  1. Type the number of the folder.
  2. Press Enter.
All subsequent SMF files are written into the folder you select.

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.


Command Line Parameters

If you run MidiRecorder from the MS-DOS command line or from a batch file, you can can control its three control variables with command line parameters.

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.


Integrating MidiRecorder and MidiFitz

You can use MidiRecorder and Midifitz together to record your performances along with the realtime accompaniment that Midifitz provides. MidiFitz reads the keyboard and generates realtime bass and drums accompaniment from the chords you play.

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.