To use MIDI with a personal computer, a PC to MIDI interface product is
generally required (there are a few personal computers which come equipped with
built-in MIDI interfaces). There are a number of MIDI interface products for
A D V E R T I S E M E N T
The most common types of MIDI interfaces for IBM compatibles are add-in
cards which plug into an expansion slot on the PC bus, but there are also serial
port MIDI interfaces (connects to a serial port on the PC) and parallel port
MIDI interfaces (connects to the PC printer port). Most other popular personal
computers will use a serial port connection.
The fundamental function of a MIDI interface for the PC is to convert
parallel data bytes from the PC data bus into the serial MIDI data format and
vice versa (a UART function). However, "smart" MIDI interfaces may provide a
number of more sophisticated functions, such as generation of MIDI timing data,
MIDI data buffering, MIDI message filtering, synchronization to external tape
machines, and more.
The specific interface design used has some specific importance to the
multimedia market, due to the need for essentially transparent operation of
games and other applications which use General MIDI. GM does not define how the
game is supposed to connect with the synthesizer, so sound-card standards are
also needed to assure proper operation. While some PC operating systems provide
device independence, this is not true of the typical IBM-PC running MS-DOS,
where hardware MIDI interface standards are required.
The defacto standard for MIDI interface add-in cards for the IBM-PC is the
Roland MPU-401 interface. The MPU-401 is a smart MIDI interface, which also
supports a dumb mode of operation (often referred to as "UART mode"). There are
a number of MPU-401 compatible MIDI interfaces on the market, some which only
support the UART (dumb) mode of operation. In addition, many IBM-PC add-in sound
cards include built-in MIDI interfaces which implement the UART mode functions
of the MPU-401.
PC Compatibility Issues
There are two levels of compatibility which must be considered for MIDI
applications running on the PC. First is the compatibility of the application
with the MIDI interface being used. The second is the compatibility of the
application with the MIDI synthesizer. For the purposes of this tutorial we will
be talking only about IBM-PC and compatible systems, though much of this
information can also be applied to other PC systems. Compatibility
considerations under DOS and the Microsoft Windows operating system are
discussed in the following paragraphs.
MS-DOS applications which utilize MIDI synthesizers include MIDI sequencing
software, music scoring applications, and a variety of games. In terms of MIDI
interface compatibility, virtually all of these applications support the MPU-401
interface, and most only require the UART mode. These applications should work
correctly on any compatible PC equipped with a MPU-401, a full-featured MPU-401
compatible, or a sound card with a MPU-401 UART-mode capability. Other MIDI
interfaces, such as serial port or parallel port MIDI adapters, will only work
if the application provides support for that particular model of MIDI interface.
A particular application may provide support for a number of different models
of synthesizers or sound modules. Prior to the General MIDI standard, there was
no widely accepted standard patch set for synthesizers, so applications
generally needed to provide support for each of the most popular synthesizers at
the time. If the application did not support the particular model of synthesizer
or sound module that was attached to the PC, then the sounds produced by the
application might not be the sounds which were intended. Modern applications can
provide support for a General MIDI (GM) synthesizer, and any GM-compatible sound
source should produce the correct sounds.