This document is intended to be a basic introduction and tutorial on the topic of MIDI, which is short for Musical Instrument Digital Interface. MIDI is a protocol that was developed so that electronic instruments could communicate with each other as well as computers and other electronic devices. Through MIDI, a variety of musical information can be transmitted. MIDI is not only used to indicate what note is played, but the duration of the note, the velocity/volume, and sometimes the aftertouch or other information as well. MIDI is also used to transmit non-note information such as pan, effects, track or overall volume, and the like. In essence, MIDI is a basic communications protocol used by musical instruments and computers, much like Firewire is a protocol for computers and peripheral devices like hard drives, scanners, and camcorders. Read on for all the information you need to work with MIDI and GarageBand.

What can GarageBand do with MIDI?

GarageBand is a comparatively simple music program. It can only accept MIDI input. That is, you can connect a MIDI device to GarageBand and play GarageBand's instruments with it, but you can't have GarageBand transmit data back to the MIDI device so it plays music on the device. Nonetheless, connecting a MIDI keyboard (also known as a MIDI "controller" because it is used to control GarageBand or other music software through the MIDI protocol) to GarageBand makes for a very powerful tool in the creation of your musical compositions.

As you probably already know, GarageBand has the ability to act as a software synthesizer or play, as it calls them, Software Instruments. This means that it can emulate various musical instruments by playing back recordings of each of the respective notes of those instruments when called upon. GarageBand's Software Instruments can be controlled in a number of ways, one of which is the "onscreen keyboard" feature of GarageBand that places a floating picture of a piano keyboard on your screen. If you click the keys on the onscreen keyboard, you'll hear the notes of the Software Instruments in your track play.

A much better way to control GarageBand's software synthesizer is with a MIDI-compatible keyboard. MIDI keyboards can either be "controllers," which means they cannot reproduce musical sounds by themselves (and thus need to be hooked up to your computer so they can play GarageBand's Software Instruments), or they can be synthesizers, which means they have the built-in capability to produce sound apart from GarageBand or any other software synthesizer. MIDI controllers are typically cheaper, when compared feature-for-feature against synthesizers, since they obviously lack much of the internal circuitry of the synthesizers.

Whether you prefer a MIDI controller or a MIDI synthesizer will depend on whether you would like to play your keyboard while not using GarageBand. If so, then you should get a synthesizer (we add that you can actually purchase hardware synthesizer "modules" which can be plugged into your keyboard to produce sound, if you decide to purchase a controller now and would like to have hardware synthesizer capabilities). If you are looking merely to work with GarageBand or other music software, then a MIDI controller will likely suit your needs just fine.

Do I need any other hardware besides a MIDI keyboard to work with GarageBand's Software Instruments?

The answer to this question depends on what kind of keyboard you have. Newer MIDI controllers and synthesizers may have built-in USB capability. If this is true for your keyboard, then you can plug it directly into your Macintosh with an ordinary USB cable. However, if you have an older MIDI keyboard, it is likely to have only MIDI-format inputs and outputs. Since Macs do not have MIDI input/output jacks built-in, you will need a piece of hardware called a MIDI Interface to serve as a middleman between your MIDI keyboard and your Macintosh.

MIDI Interfaces are available in a number of configurations. Although some interfaces come with a variety of extra options, including multiple In/Out ports or audio recording capabilities, if you are a beginning MIDI user, you likely will need only a very a simple controller. If your only need is to connect an older MIDI keyboard to your Mac, then a simple "1x1" controller should suit you fine (one channel of MIDI data in, one channel out).

When considering the purchase of a MIDI-interface, one of the most important considerations is whether the manufacturer provides quality, quick-to-market drivers for their interfaces. Since major Mac OS X updates are coming fairly frequently these days, it is important to go with a manufacturer that provides support for the latest versions of OS X as quickly as possible. For this reason, we highly recommend both M-Audio and Edirol as manufacturers that have shown a commitment to supporting MacOS X.

In particular, we think the M-Audio MIDISport Uno 1x1 ($39.99 at ZZounds.com) and the Edirol UM1SX ($39.95 at ZZounds.com) are great options for beginning MIDI users. The MIDISport Uno is particularly handy because it comes with built-in MIDI cables that plug directly into your MIDI-compatible keyboard. With the Edirol and most others, you'll need to buy MIDI cables in addition to the interfaces (also available in various lengths and prices at ZZounds.com). You can view ZZound.com's entire line of MIDI interfaces, including the aforementioned models, by clicking here.

To demonstrate what your physical setup will look like with either a USB MIDI keyboard or a MIDI keyboard and MIDI interface, we offer these two diagrams:

I've got a MIDI Adapter or a USB Keyboard: what now?

Once you've got the requisite MIDI hardware for controlling GarageBand, you'll next need to put some attention into getting your Mac to recognize the hardware. Current versions of OS X come with MIDI support that is controlled with an application called Audio MIDI. The Audio MIDI application allows you to see a visual representation of your MIDI setup. Audio MIDI can be found in Applications --> Utilities --> Audio MIDI.

Before getting into Audio MIDI, however, you'll need to install the latest drivers for either your MIDI Interface or your USB-capable MIDI keyboard. The best place to get drivers for such equipment is directly through the support websites of the relevant manufacturer. Here are some quick links to the driver download pages of some common manufacturers:

You should download and install the most recent drivers for your model of equipment. MacOS X will not be able to recognize your hardware unless you restart after installing. After restarting, open your Audio MIDI application. You should now see a representation of your MIDI interface or USB keyboard in the setup layout (remember to have your devices plugged in). If you are using a MIDI Interface you can add your keyboard to the Audio MIDI setup (though, strictly speaking, this is not necessary, since all Audio MIDI needs to know is that an interface is plugged in and that MIDI In/Out will be coming through it), you can do this by clicking the "Add Device" button and then dragging from the arrows at the top of the newly created icon to the arrows on your MIDI interface icon, creating a setup as pictured below. This should be all you need to do for GarageBand to recognize your keyboard. However, occasionally things can go wrong and there are a number of areas to look when something's not working. If you have difficulty, visit the MacJams.com MIDI forum and we'll help out lickity split. An example of a working Audio MIDI setup with an M-Audio MIDI interface and a non-USB MIDI keyboard looks like this:

Just to be sure, we'll show you where in GarageBand you select your MIDI input. This setting is found in preferences menu for GarageBand. In the preferences panel, click on "Audio/MIDI" and you'll see GarageBands Audio and MIDI input settings. Note that this location is also where you can optimize GarageBand's performance if you have a a slower computer such as a G3. An example of the Audio/MIDI setup panel is shown below:

What about the other, non-key controllers (knobs, buttons, sliders) on my keyboards?

If you have a more recent keyboard which as assignable knobs, buttons and sliders to control MIDI events, you can use some of these with GarageBand. Most modern keyboards feature the ability to control "pitch bend" and "modulation," which allow you to alter the sound of a note as it plays, in real time. GarageBand supports such features out of the box. For control over things like volume, pan, and other characteristics of your tracks, support will depend on the driver for your particular keyboard. You should refer to your manual for more information or post a message in our forums about your particular keyboard.

My MIDI Setup is working; what now?

Now that you've got your MIDI keyboard working properly with GarageBand you can explore the vast collection of soft synthesizer sounds that Apple has included with GarageBand and/or the Jam Pack. If you are a musician looking to add to your repertoire, you might consider using your MIDI keyboard as a tool for other audio programs beyond GarageBand. Most music-oriented software today will have MIDI support in one form or another and you can use your keyboard to perform a variety of tasks in these programs.

You may also find the following resources helpful in your use of the software instruments and GarageBand's MIDI support: