What makes a good MIDI file?

A MIDI file can be used in many different ways, some of which are:

  • as an accompaniment for live performances
  • to generate sheet music
  • for karaoke/singing along
  • in conjunction with educational software to practice a musical instrument

In the context of music transcription, besides the obvious factor of note/pitch accuracy, there is a variety of other factors to take into account when searching for a good MIDI file. Most of these factors have less to do with musicality (which is an attribute of the source material), and more to do with file structure choices and proper organization, which can be of vital importance and save future sequencing or editing time.

Quantization

Quantizing to the nearest 16th or 32th note generally yields better results if the MIDI file is to be used to generate sheet music by importing it into software such as Musescore, Sibelius, Finale, or Dorico. On the contrary, such quantization is not desirable when the file is to be used as accompaniment for a live gig, since it takes away from the realism and expressiveness of the performance.

Velocity

Using the whole velocity spectrum (0-127) is desirable 99% of the time, especially when it comes to live performances. However, there are cases that require a fixed velocity, or a limited velocity range. Such a case would be using notes to activate a mode or trigger an effect specific to a VST instrument. For example, there are many guitar VSTs that render notes below a certain velocity as palm mutes and notes above a certain velocity as harmonics. As with quantization, it’s important to know how the MIDI file is going to be used for such cases to be taken into account when sequencing.

Tempo

The tempo of a MIDI file can be fixed or it can vary. It is controlled by a tempo map/track, which describes all the changes, instant or gradual, happening to a song’s tempo during playback. Even though most software that can play MIDI files allow users to change the tempo on-the-fly, it’s still helpful to know what kind of tempo data is included in them.

If there is a need for the file to play in perfect sync with the original audio source, either for lyric display, or to introduce a new virtual instrument into the arrangement, an accurate tempo map is a must. On the other hand, practicing musicians may benefit more when using a file with a fixed tempo that they can gradually increase.

Track Naming

Taking the time to properly name each track results in organized, easily-editable MIDI files. In the case of type 1 MIDI files, descriptive names, such as “Nylon-String Guitar” or “Fretless Bass”, help identifying the contents of each track much faster than vague ones, such as “Channel 01” or “MIDI 02”.

Markers

Markers are meta messages that “tag” a point in a MIDI file. Markers used to clearly separate song sections or mark key and time signature changes is another small detail that facilitates editing. They are especially helpful when rearranging a song to fit a certain time span. Inserting markers in a MIDI file is considered a good practice in general, even though some use cases may not require them.

Initial Setup

There is a number of specific messages that should be placed at the beginning of each MIDI file to ensure correct playback, assign instruments, set up the initial levels, panning, etc. These messages are explained more thoroughly here.

Summary

Even though note accuracy forms the backbone of a good MIDI file, it’s important to consider the question: “good for which purpose?” as well, to make sure that the file’s structure and organization makes sense for your intended use. On top of that, everything that makes the file easier to navigate and edit should be considered a plus.

I sequence my MIDI files taking all the above into consideration, after discussing with my clients at the beginning of each project. This discussion is crucial because it allows me to provide MIDI files tailored to their intended use, without the need of extra edits. If you would like to start a conversation on a custom made MIDI file, you can do so here.

.

Leave a Comment