MIDI INTERFACES FOR THE IBM PC by David (Rudy) Trubitt from September, 1990 issue of ELECTRONIC MUSICIAN If you are looking for a MIDI interface for an IBM PC or compatible system, don't consider it a simple hardware purchase. The interface you use will have a big impact on the software you will be able to run. Unlike the Macintosh or Atari ST, there is no serial communication driver built into the PC's operating system. For that reason, interfaces and software are not automatically compatible. But there is a de facto standard: Roland's MIDI Processing Unit (MPU-401). When it was introduced in 1984n the principal selling point of the MPU-401 was Intelligent mode, which takes care of many important MIDI talks without bogging down the PC's central processor. The IBM PC's of 1984 had less poser than today's models, so the MPU's processing capabilities were useful. Roland offered the MPU-401 chips to other companies, making it easy for them to make compatible products of their own. Enough MPU-styled interfaces were sold that nearly every software company had to support it to stay competitive. This is still the case. Even programs designed specifically for non-MPU interfaces usually offer MPU-compatible versions. The MPU-401's biggest advantage today is software compatibility. If you want to run the largest number of programs, especially shareware, you should be looking at an MPU-compatible interface. Today, the typical PC-compatible has increased in power to the point that it doesn't need the help Intelligent mode offers. Also, Roland's MPU-401 chips discard MIDI time code (MTC) messages when in Intelligent mode. As an alternative, the MPU can operate in - you guessed it - Dumb mode (also called UART mode), which does pass MTC messages. In this case, the computer is responsible for everything and all features of Intelligent mode are lost. Many developers who support the MPU-401 today are using Dumb mode, despite the extra work it entails. This means that users pay for unused features. Several manufacturers have taken the basic MPU-401 and added additional MIDI ports and SMPTE read/write capability. (for you non-musical types out there, SMPTE is a time code used mainly in multi-track recording and audio-video sync-ing...LC). These interfaces function like a plain MPU0401 unless the software is specifically written or updated to support the additional features. Check with the software manufacturer to find out if their software supports any "extras" that your interface provides. NON-MPU INTERFACES MPU-401 compatible interfaces must be installed in an expansion slot, forcing laptop users to seek alternatives. Many laptops use a MIDI interface that works with the printer port, either serial or parallel. You'll have to call your software vendor to find out if their programs support these interfaces, as none of the serial or parallel interfaces are MPU-compatible. To achieve the MIDI rate of 31.25 kilobaud (and you guys thought your modems were hot stuff!!!!!.....LC) serial MIDI interfaces run the PC's serial port at higher rates than were originally intended. In most cases, this is no problem, although one software vendor cited potential throughput problems in dense datastreams. There are a number of serial interfaces available, and they are gaining support among software vendors. The parallel port has some potential advantages over the serial port as a host to a MIDI interface. Suprisingly, there is only one parallel port MIDI interface on the market today, the Eclipse HRS-3000. BUILT-IN SOUND AND PREPACKAGED SYSTEMS Several manufacturers make cards that incorporate interfaces with onboard synthesizers, which are well-suited for educational applications. Game software can also take advantage of this type of device for generating sound effects and music that are synchronized with the on-screen action. Some systems of this type, such as the IBM PC Music Feature Card (which includes an onboard Yamaha FB-01 synth), are not MPU- compatible. Roland's LAPC card on the other hand, combines an MPU interface with a Roland MT-32 synth. In some cases, the MIDI implementation of game-oriented boards may be limited, so read the fine print. Most MIDI interfaces include some of tape sync capability as part of their design. However, in nearly every case, the signals that they put on tape are incompatible with each other (with the exception of the four different frame rates of SMPTE). WHO'S DRIVING THIS THING ANYWAY? To transmit and receive MIDI messages, a special software program called a device driver is used. The application program communicates with the driver program rather than with the interface itself. Typically, a device driver is designed into each application program, and drivers are incompatible from program to program. To acheive the blissful state of INDEPENDENCE, in which the user selects software and hardware without concern for compatibility, a system-wide driver must be written to support a number of interfaces and programmers must agree to support the protocols used by that driver. Such a driver can also be designed to manage access from several programs simultaneously in a multitasking environment, such as Microsoft Windows 3.0. Playroom Software is close to releasing its MIDI Executive program, a driver for several popular interfaces that can also manage more than one interface and application simultaneously. Playroom is encouraging other software vendors to support MIDI Executive but MIDI Executive requires the Windows environment, and most current PC users are using DOS wothout Windows. Also, it is almost certain that Microsoft will offer some sort of MIDI support in fuuture versions. Although Microsoft's offering may be less sophisticated than Playroom's there is a possibility that the two will compete for developer support. A solution like Playroom's could be a real step forward for MIDI on the IBM PC. In summary, let your software needs drive your hardware purchase. If you aren't sure of your future needs, an MPU-401 compatible interface is a safe choice. If you are putting together a system primarily t run one package, ask the software vendor for a recommendation. MANUFACTURERS OF IBM PC MIDI INTERFACES -Brown-Wagh Publishing: (408) 395-3838 -Computer Music Supply: (800) 322-MIDI or (714) 594-5051 -Eclipse: (800) 456-6434 or (214) 238-9944 -Kee Electronic Enterprises: (800) KEE-MIDI ext 10, or (817) 560-1912 -Mix Bookshelf (IBM PC Music Feature) (800) 233-9604 or (415) 653-3307 -Music Quest: (800) 876-1376 or (214) 881-7408 -Optronics Technologies (503) 488-5040 -Passport Designs: (415) 726-0280 -RolandCorp US: (213) 685-5141 -Voyetra (800) 233-9377 or (914) 738-4500 David (Ruby) Trubitt would consider a MIDI brain implant if it were MPU-401 Compatible. SIDEBAR 1 IRQ's - NINETY PERCENT OF THE PROBLEM If you're having a problem installing an interface card in your PC, your MIDI interface and some other card may both be trying to use the same interrupt request line or IRQ. IRQ's are a way for parts of your PC (such as a MIDI interface) to tell the CPU to stop what it's doing and take care of something that can't wait (such as reading incoming MIDI messages). This request is made by toggling the state of a pin on the expansion bus. If two cards are trying to toggle the same pin, the CPU may lock up. MPU-401 Interfaces normally are shipped using IRQ2. Other plug-in devices also may be set to IRQ2, and some Leading Edge and Tandy 1000's use IRQ2 for disk controlor other functions. If the offending card cannot be removed to have its IRQ number changed, you'll have to change the IRQ settings on the MIDI interface. Most newer interfaces have user-selectable IRQ's, but your software must be able to use the alternate IRQ or it won't recognize the presence of the interface. Many new programs offer user-selectable IRQ's, but older programs and shareware may not have this ability. SIDEBAR 2 There is a chart which I scanned in very hurriedly as .PCX file. You are welcome to view it, but it is hard to read. This is all from the September issue of Electronic Musician, a great magazine if you are into computer/music interaction. The following text is a postscript to the chart (which is MIDI1.PCX, MIDI2.PCX and MIDI3.pcx) "Sound" refers to onboard synthesis capabilities ( a metronome doesn't qualify). "MPU" refers to MPU-401 Compatibility. 1 Soundblaster cannot use MIDI ina and out simultaneously 2 CMS-444-EXB Expansion rack adds four MIDI ins, four outs, and LED monitor; $279. Extra I/O not MPU-401 compatible. 3 Can upgrade to 1-in, 4-out CMS-404 for $39. 4 The two MIDI outs are independent, providing 32 channels 5 With optional Quad Pask, foutr non-independent MIDI outputs provided. 6 Supports Pre-MIDI, 5 volt clock sync and converts to/from FSK and MIDI clock. 7 Same model works with Atari ST and Amiga 8 HRS-300 must select one of three inputs, non-merging. Same signal sent to all three inputs. 9 Price for package that includes interface, sequencing software, cables, and videotape.