Lesson 1

Introduction To MIDI

What is MIDI?

The acronym MIDI stands for
Musical Instrument Digital Interface.

We already know what a Musical Instrument is, although I guess that almost anything that produces a sound can be called a musical instrument. There is not time enough in this course to go into that topic! For now, let’s stick with traditional musical instruments.

Digital, in very simple terms, as it relates to MIDI, refers to information (data) about a musical instrument. This data is conveyed in digital or computer based language.

Interface, this is the term for the actual link between musical instruments or computers where data passes from one
device to another.

MIDI, is a link between those musical instruments capable of transmitting and receiving computer data

Midi's purpose is to allow electronic musical instruments from different manufacturers to work together.

MIDI Communication

All MIDI instruments (actually, all instruments) produce sound when played by a musician, or non-musician for that matter. When a key on a piano MIDI keyboard is pushed down continuously, a note will sound. This command is known as a Note-On command in MIDI.

Screen shot 2012-04-05 at 6.24.53 AM
Sound (if everything is hooked up correctly) more on that later.
When the key is released the sound stops. This is a
Note-Off command in MIDI.

Screen shot 2012-04-05 at 6.25.27 AM

No sound. (Especially if everything is not hooked up correctly)

MIDI Basics

The MIDI Cable

Screen shot 2012-04-05 at 6.25.48 AM
A basic MIDI cable.

An AC cord carries electrical power.
An audio cord carries audio signals to an amplifier.
A MIDI cable transmits and receives information (data) about the status of instruments.
This Information is coded in computer language. Remember that a MIDI cable does not carry any sound waves, just coded information about triggering a sound and other pieces of information.

The most basic information that is transmitted through a MIDI cable is what notes are being played and how long each note is sounding.

Timing and synchronization data is also transmitted (more on that later)

A MIDI cable has two 5-pin DIN (
Deutsches Industrien Normen)
Screen shot 2012-04-05 at 6.26.58 AM

connectors attached to a cable that is usually no more than 50 feet in length. Data loss may result if the cable is longer than 50 feet.

Of the five pins, only three are used. One to send data, another to receive data, and the third to shield the other two from noise and interference. The remaining two pins are reserved for future use.
Screen shot 2012-04-05 at 6.27.39 AM

MIDI Jacks

Screen shot 2012-04-05 at 6.27.53 AM

There are three types of MIDI jacks This is where you plug your MIDI cable into a MIDI device.

MIDI Out Jack-sends or transmits data out.

MIDI In Jack-receives data from another source, typically a MIDI controller keyboard or other device.

MIDI Thru Jack-replicates the data that appears at the MIDI In Jack and send it (along) Thru to another MIDI In Jack.

Examples of MIDI Set-Ups (without a PC)

Here are some real world examples of MIDI hookups for live performance.

Typically you want to have a controller (keyboard or other MIDI instrument) controlling a tone generator.

A Tone Generator is a synthesizer, without keys, that may contain banks of sounds (also called patches).

For this example, we want our keyboard (controller) to send data out to a tone generator to trigger the sounds stored in the tone generator.

The MIDI set up would be:

MIDI Out from the keyboard to MIDI In on the tone generator. When we play a key on the keyboard we send data out (MIDI out) to trigger the sound on the tone generator, which takes data in (MIDI In).

Screen shot 2012-04-05 at 6.28.40 AM

In this configuration, notes will sound on the keyboard controller and the tone generator at the same time.

Daisy Chaining MIDI Instruments (MIDI Thru)

By using the
MIDI Thru jack on your keyboard (note, not all keyboards have MIDI Thru) you can daisy chain up to 4 instruments together so that all 4 instruments can be controlled by a single Keyboard (controller). This is called Daisy Chaining. Connecting 4 instruments in this manner is the limit! After 4, you start to hear a slap-back echo because it takes MIDI a little time to go through 4 instruments.

The diagram below represents a simple
MIDI Thru set up. The MIDI Out jack represents the Master keyboard. Remember that the data appearing at MIDI In is replicated by MIDI Thru and sent along. In this configuration, you will have sound from the Master keyboard, and the other two keyboards that are triggered by the Master keyboard.

Screen shot 2012-04-05 at 6.29.29 AM

The Advantages of MIDI

MIDI allows us to:

Create Bigger Sounds by layering sounds from different MIDI instruments together to produce thicker and richer timbres.

Reduce Equipment Clutter by using tone generators, and now Soft Synths, (more on that later) and eliminating bulky keyboard set-ups.

Have New Controllers by adding devices that can be controlled by MIDI such as lights, guitars, Electronic Wind Instruments, and a host of other controllers.

Use Computer Control to help us generate new sounds with samples, and store banks of samples that are triggered by MIDI.

Record with a Tape-less Recording Studio. With MIDI it is now possible to have your own recording studio at home. 10 years ago it would have cost you a small fortune to own and operate a recording studio.

Improve Your Theory and Music Chops. There are so many software programs out there that help musicians improve their craft. MIDI has made that possible.

End of Standardization Problems. MIDI now allows all instruments from different manufacturers to communicate and work together.

End Obsolescence. You no longer have to worry about replacing a piece of MIDI gear that is too old. Even an older tone generator, with that one sound that you still love, will work with your newer equipment.

More On MIDI

MIDI is not just another way to send information from one computer based devise to another. What makes MIDI special is that the information that travels along a MIDI cable relates specifically to music performance.

Note-On Message

We have already discussed what type of basic MIDI information goes into a simple note-on message. A single note-on message has three parts:

Part 1 is called the
Status Byte. This defines what type of message is being sent. In this case, it is called a note-on message.

Part 2 is the
note number, or which key is being played. In theory, a MIDI keyboard can be 128 notes wide, because 128 note numbers are available. A typical five-octave MIDI keyboard uses the notes between 36 and 96. Middle C is note number 60.

Part 3 is
velocity. This number, which can be anywhere from 0-127, tells us how hard the key was struck. You can also think of this as dynamics. The harder you strike the key the louder the note will sound. Not all keyboards send out velocity data, so make sure you buy one that does. At the end of the MIDI session we are going to look at how to read a MIDI spec sheet. Once you know what the MIDI spec sheet means, you may be able to save money on your next MIDI equipment purchase.

Note-Off Message

A note-off message has the same three parts-the Status Byte, the Note Number, and the Note-off Velocity. This is also called Release Velocity Most keyboards, just turn the note off and don’t read or send Note-Off velocity, so don’t worry too much about this one.

MIDI Transmission (How Data Is Sent)

There are two main methods for transmitting data from one device to another.

Parallel Transmission

Serial Transmission

Parallel Transmission

Parallel Transmission sends all the information at once to another device. This requires multiple cables. Since all the information is sent all at once, this method is very fast.

Screen shot 2012-04-05 at 6.30.15 AM
Parallel Transmission.

Serial Transmission

Serial Transmission sends data along consecutively (serially) along the same cable.

Screen shot 2012-04-05 at 6.30.41 AM
Serial Transmission

Serial Transmission takes more time, but it is fast enough, and cheap enough, to be used as the MIDI standard for sending and receiving data. The data is sent one bit at a time, serially, along a MIDI cable using MIDI words or messages, bits, and bytes.

Bits, Bytes, and MIDI Messages

Each digit in binary (computer language) code is called a bit. A bit is expressed as either a 0 or 1.

If we group 8 bits together it is called a byte.

The highest number we can express in a byte is 11111111, which equals 255. We are not going to go too deep into the binary language here, so just trust me on this one.

With an 8-bit byte we can express 256 possible numbers. 0-255. 0 is a number, and actually has value in MIDI and programming language. It took me a while to grasp that!

The lowest number we can express in a
byte is 00000000 which equals 0!

A 16 bit word (
two bytes) can express 65, 000 possible numbers! OK, now we are getting into too much math!

So, how does this all fit into MIDI? Suppose that a synth’s vibrato wheel is quantized to 128 steps. 0=no vibrato, and 127= a lot of vibrato. Yes, I know that the number should be 128 but, remember that 0 counts as a number in computer language.

The MIDI message for no vibrato is 00000000. or off!

The MIDI message for a lot of vibrato is 01111111 or 127. Also notice that MIDI only uses 7 of the eight bits to express a value. The first
bit in MIDI message defines the type of MIDI word.

MIDI Words

MIDI groups information into multi-byte messages or sentences that form MIDI words.

MIDI words come in two flavors: Status Words and Data Words.

Status Words identify a function, vibrato, pitch bend, note on etc.

Data Words give data to a function. How much vibrato, how much pitch bend, and which note is turned on.

Status bytes start with a 1

Data bytes start with a 0.

By identifying different words, MIDI can send data along a single cable.

MIDI Channels

Midi can send and receive data over 16 different channels.

Each channel carries unique data and can drive it's own polyphonic instrument.

A channel ID is attached to each piece of data. This way we can program a MIDI instrument to look for data on a single assigned channel.

More MIDI Connections

I have already discussed the Daisy Chaining method of connecting MIDI instruments together by using MIDI In, MIDI Out and MIDI Thru connections. The problem with the Daisy Chaining method is that we can only connect 5 instruments together before we get a noticeable delay in our sound playback.

The Star Network Method

Another common way to connect multiple MIDI instruments together is by using the Star Network method. For this method, we use a MIDI Buffer Box or a MIDI Interface with multiple MIDI Out jacks. Both these devices send out a buffered MIDI signal. A buffered signal is a MIDI signal that is electronically cleaned up to be as strong as the original MIDI signal. This way, we have no data loss or time delay. The diagram below illustrates a typical Buffer Box set up.

Screen shot 2012-04-05 at 6.31.15 AM
MIDI Buffer Box controlling three MIDI devices.

When you use a MIDI Interface or MIDI Buffer Box you can hook up as many MIDI devices as you have MIDI out jacks. You will have no data loss or time delay.

The MIDI Modes

There are four MIDI Modes allowing MIDI to distribute data to trigger voices on a MIDI device.

Mode 1: Omni On/Poly (Omni Mode)

This mode is usually the default mode for most MIDI devices. It has also been called the “goof proof” mode. If you are in Mode 1 and all your devices are properly connected, you should hear a sound!

If a MIDI device is in
Mode 1 or Omni Mode as it is often called, the device can receive data on all 16 channels and respond polyphonically (play more than one note at a time.

Mode 1, all 16 channels are receiving data, and you can play polyphonically all 16 channels. That is how the name “goof proof” came to be used in describing Mode 1.

Mode 2: Omni On/Mono

If a MIDI device is in Mode 2, the device can receive data on all 16 channels and only respond monophonically (play only one note at a time.

Mode 2, all 16 channels are receiving data, but you can only play monophonically all 16 channels. If you played a chord on your master keyboard and wanted that chord to sound on a connected MIDI device that was set to Mode 2, you would only hear one note of that chord (usually the root) on the connected MIDI device.

Mode 3: Omni Off/Poly On (Poly Mode)

This mode is commonly called Poly Mode. The Omni is off so the slave instrument will be looking for information on a specific channel. Even though the master keyboard may be sending out information (MIDI out) over all 16 channels, if the salve tone generator or keyboard is set to Mode 3, it will only receive information on a specified channel.
Once the information has been received on a single channel, poly is on, so you will be able to play polyphonically.

Mode 4: Omni Off/Mono (Mono Mode)

This mode is commonly called Mono Mode. In this case information is sent or received on a single channel and the instrument will play monophonically (only one note.)

Why Learn about MIDI Modes?

At first, all this MIDI mode stuff may seem confusing. But, if a piece of MIDI gear is sent to a mode other than Mode 1, it may seem that it is not working correctly. Check to see what mode you are in, maybe that is why you can’t get any polyphony out of the device.

Project 1:

Describe your MIDI set-up to the class. Look for MIDI In, Out, and Thru jacks on each device. Do you have all three jacks? Find the manuals that came with your MIDI gear. Learn how to change the MIDI modes.

Experiment with MIDI In, MIDI Out, and MIDI Thru, and the MIDI Modes. Try the daisy chain method if you have more than one instrument. Did everything work as expected? What problems did you have?

Recap: Lesson 1

This week we spent some time learning basic MIDI concepts. You should have a better understanding of:

MIDI communication
MIDI cables
MIDI Jacks
MIDI In, Out, and Thru
Daisy Chaining and Star Networking MIDI Instruments
Bits, Bytes, Status and Data Bytes and MIDI Messages
MIDI transmission
MIDI Words
MIDI Channels
MIDI Modes
Setting up Pro Tools to receive MIDI data.

l arrow To Lessons Page