MIDITyper: New features

MIDI Typer is one of the components of the MIDI Utility Pack. In the past, its prime function was the bulk conversion of MIDI files between Type0 and Type1. To review, in a Type0 file all musical and non-musical information is combined in a single track. A Type1 file contains multiple tracks. Items in a track are usually grouped by function. Figure 1 shows the MIDI Typer interface. The items in the lower section control navigation to folders that contain MIDI files. One option is to select one or more files. In response to the Type1 -> Type0 button, the program searches the selected files. All files that are originally Type1 are converted to Type0. In the absence of a selection, the search extends over all MIDI files in the folder. Conversely, the Type0 -> Type1 converts files originally of Type0 applying the following conventions:

  • All non-musical information is collected in Track 1.
  • For musical information, each MIDI channel is assigned to a track.
MIDI Typer main window

Figure 1. MIDI Typer main window.

Recently, a customer described an application where he wanted to remove program messages and voice control messages from a large collection of MIDI files. He wanted to play files using a virtual instrument setup in a digital workstation. In this case, instrument definition messages in the MIDI file would interfere with the virtual instrument definitions. Because of its versatile capabilities for bulk conversion, MIDI Typer seemed the ideal candidate to support this new function and others. Accordingly, we added two new features to the program:

  • An output filter capability to remove a variety of different MIDI messages. The filters could be applied during type conversions.
  • A Clean routine to apply the filters without changing the file type.
MIDI Typer Settings dialog

Figure 2. MIDI Typer Settings dialog.

The filters are controlled by a new settings dialog, shown in Fig. 2. Checking a box includes a message type. If the box is unchecked, the message type is not added to the file. Filters are included for the following message types:

Tempo changes (after start). Sometimes, MIDI files may contain a large number of tempo messages because the transcriber was either particularly expressive or did not use a metronome. Such tempo changes are undesirable when preparing an accompaniment. If the box is unchecked, all tempo messages after the first one will be omitted.

System exclusive messages. These messages are extended structures that contain binary instructions for specific hardware devices. They are generally ignored, so they can be removed from files intended for general distribution.

Program messages. Program messages set the GM (general MIDI) numbers of channels. The numbers control the type of instrumental voice associated with the channel. Such messages may cause a conflict when working with a digital workstation with a virtual instrument setup.

XG voice settings. XG messages specify synthesizer voices beyond the 128 general MIDI options. These settings are hardware specific. Uncheck this box to ensure compatibility with GM compliant devices.

Other voice control messages. These messages control characteristics of channel voices, such as volume, pan reverberation and timbre. If you want to control voices entirely from software when playing the output file, uncheck this box as well as Program messages and XG voice settings.

Text messages and lyrics. The words in karaoke files are sometimes stored as text messages and sometimes as lyric messages. Uncheck these boxes if you want to remove the information, converting a KAR file to a standard MID file. This option is useful for creating scores with music notation programs. Some programs attempt to include lyrics, making a messy display.

Markers. Markers designate sections of a MIDI file. They may appear in specialized applications like Yamaha style files.

Other non-MIDI messages. Include or exclude specialized non-MIDI messages that are usually not required to play the file, including SMPTE, MIDI port, MIDI channel, copyright, cue point, instrument and sequence track name.

Pitch wheel messages. Pitch wheel messages shift the frequency of the synthesizer to give a twangy or bluesy sound. Uncheck this box if you want all notes to sound at their prescribed pitch.

The filter set is similar to the one in MIDI Doctor. The main difference between the programs is that MIDI Doctor is designed to optimize single files, while MIDI Typer works on large sets. MIDI Doctor has additional functions appropriate to single files, such as channel voice control.


Comments are closed.