PC/MIDI BASICS #1: WHAT IS MIDI? by Richard D. Clark (PCC RichC) 11/19/91 The Musical Instrument Digital Interface was introduced in 1983 by a coalition of musical instrument manufacturers as a standard protocol with which electronic instruments -- specifically synthesizers -- could interchange data. At that time, its primary use was to allow one synth's keyboard to control the sounds of another, in a "master-slave" relationship. Even its inventors didn't foresee the complex and varied applications for which MIDI would be utilized within just a few years. MIDI is "platform independent." That means that any device which conforms to the MIDI Specification, and is equipped with MIDI ports, can talk to and be understood by any other; this includes computers of different types (IBM, Macintosh, Amiga, Atari). ----------MIDI BASICS Most users don't need to understand the "innards" of MIDI, just as knowledge of programming isn't necessary to use a word processor. To use MIDI hardware and software, you just need a fundamental understanding of the kinds of data being interchanged. MIDI can transmit 16 channels of data simultaneously, in a process analogous to cable TV: there's only one data stream, carried by one cable; the "receiver" -- the MIDI device -- sorts the data into the 16 independent MIDI channels. MIDI devices, in turn, can be set to respond to all, or only one MIDI channel. In this manner, one channel can contain "piano" data, which is recognized only by a synth set to that channel, while another contains only "bass" data. Whether the synth *sounds* like a "piano" when it plays that data is dependent on its own settings and capabilities. If it's set to a "brass" sound, it will play the "piano" notes using the "brass" sound. When MIDI data is transmitted, it is usually in "real time" -- with the tempo of the music set by software, or by the person actually playing the controlling instrument. The exception to this is "system exclusive" (sysex) data, which is used for exchanging things like patch banks (sets of sounds) between MIDI devices. Each channel carries data about the music being played. Some kinds of data are: *Note Data - Note Number, Note On, Note Off. Every note in the playable musical spectrum has its own unique MIDI note number. These commands simply transmit information about what key was pressed and when, and when it was released. *Velocity Data - Many (but not all) MIDI keyboards can send a different "velocity" value depending on how hard the key is struck. Velocity sensitivity is usually used to control volume; the harder the key is struck, the louder the note sounds, much like an analog instrument. Velocity values range from 1 (softest) to 128 (loudest). Many inexpensive or older MIDI keyboards cannot generate or respond to velocity data. *Program Change - Most synths can produce a variety of sounds; each sound has its own identity and program number. (These sounds are often called "patches," a holdover from the days when synth programming was done by physically patching cables between electronic modules.) Groups of patches are usually organized into "banks;" the number of patches per bank varies from one synth to the next. A MIDI Program Change command tells the synth which Program Number -- which of its built-in "sounds" -- to use when playing the note data. *Pitch Bend - Data generated by the wheel or joystick control on the synth that bends notes up or down. *Controller Data - The MIDI Specification allows for (potentially) 128 different controllers; some are standardized, and some are available to be assigned by a manufacturer for a particular function. Some of the standard controllers are: Controller #64, Damper Switch (Sustain Pedal); #7, MIDI Volume (not velocity, but the "volume knob" function, in 128 steps); #10, Pan Position (left to right in 128 steps); #1, Modulation Wheel; and several others. Not all devices can respond to all types of controllers. It's important to remember that it's up to the receiving device to interpret the MIDI data stream. Sending note data to the MIDI IN port of a drum machine will produce drum sounds. If the note data was supposed to be a "piano" part, the results might be very interesting, but will not sound like a piano. Similarly, a device that cannot understand velocity data will simply ignore any that's received. ----------MIDI PORTS Most MIDI devices have either two or three MIDI jacks. They will be labeled, and will function, as follows: *MIDI IN - Receives data from the MIDI OUT or MIDI THRU of another MIDI device. Always receives ALL MIDI data present in the data stream; which data are responded to -- and how -- and which are ignored, is dependent upon the device's internal settings. Virtually all MIDI devices have a MIDI IN port. *MIDI OUT - MIDI data *generated* by the device is output at this port. Some devices which can respond to MIDI data, but do not generate any (certain effects devices, for example), will not include a MIDI OUT port. *MIDI THRU - The MIDI data stream which appears at the device's MIDI IN is simply "passed through," unaltered, to this port. This function allows several MIDI devices to be "daisy-chained like this: CONTROLLER MIDI OUT --> DEVICE 1/ MIDI IN MIDI THRU ----> DEVICE 2/MIDI IN MIDI THRU ----> Etc. Some older MIDI devices have only two ports, IN and OUT. Some of these devices allow you to switch the OUT port to function as a THRU port; others don't, which means they must be connected at the end of the "daisy-chain." ----------SUMMARY *MIDI is a communication protocol, designed primarily for electronic music. *MIDI is a platform-independent, universal standard. *There are 16 MIDI channels, combined into a single data stream. *MIDI data can include note, velocity, program change, controller and other data. *MIDI devices are connected via their MIDI IN, OUT and THRU ports. Next: "PC/MIDI BASICS #2" (MIDI#2.DOC) discusses the hardware interface between MIDI devices and personal computers (specifically, IBM-compatibles). The PC/MIDI BASICS files are published irregularly and available in the Music & Sound Text Library of the AOL Music and Sound Forum. (c)Copyright 1991 by Richard D. Clark/Fundamentally Sound. This file may be freely distributed only in its original form. Suggestions/corrections/additions may be e-mailed on America Online/PCLink to PCC RichC.