Ok, so if you've found this site you probably already have some idea of what MIDI is, and you've probably even used it before. Maybe you use it everyday in the studio.
But, what exactly is MIDI?
Well, the short answer is simple: MIDI is a specification for digital communication between musical equipment, not a particular piece of hardware.
Ok, so what does that mean?
This is where it becomes more technical and we'll need to start breaking things into smaller pieces to become understandable. So, lets start with the basics.
MIDI is an acronym for Musical Instrument Digital Interface and it was one of the many brain childs of Dave Smith, daddy of such great synths as the Prophet 5 and Poly Evolver. MIDI has been around for some time now, particularly in “digital years” . When MIDI first became a standard most people were gawking at Apple IIe's ;)
So, what does MIDI do and why did Dave invent it?
What MIDI does is create a efficient way of communicating any bit of information about music: Note numbers, Note durations, Expression values, Tempo etc. It does this by assigning a special number to each kind of event and attaching that number to a value. Since digital circuits are good at dealing with numbers this is an efficient system for communicating information.
All a device that want to communicate via MIDI has to do is send the right number at the right time and all other connected devices will know what to do with it. If a device wants to receive MIDI events it simply has to listen to it's MIDI port for incoming events and respond to them by triggering it's internal processes.
The downside of being efficient in a computer is that raw MIDI information is hard if not impossible to read. You will need to study the detailed specification, become familiar with the number that represents each kind of event and the range of values each event has.
Doesn't sound too bad?
Well, there is another hitch, MIDI numbers don't come in “normal” 1-10 values. MIDI is almost always written in Hexidecimal (or Hex for short), meaning each digit can be 1-F. That is 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, A, B, C, D, E, F. You get it? Let me explain a little more.
In Hexadecimal each digit can can be one of 16 values whereas we humans are used to each digit being one of 10 values. Instead of inventing new numbers for Hex people simply use the first 6 letters of the alphabet. So, A = 10, B = 11 etc. In order to tell the difference between the Hex number system and the decimal number system, hex is usually written like this: 0x01. The “0x” is to append the beginning of the number and is always the same.