Chris Peterson
Hammered Dulcimer, Guitar, Original Music

A Basic MIDI Primer for the PC

What's a MIDI File?
The Sound Card
Create a MIDI file
The MIDI Keyboard
The MIDI Map
Computer Requirements
Publishing on the Web

MIDI stands for Musical Instrument Digital Interface, which literally describes a connection between musical instruments and computers, but now more generally refers to synthesized music. It's a nice, inexpensive way to create music in a permanent form for reference and arranging, or to fill in on a recording for instruments you can't play or afford to hire. MIDI has also become a kind of performance unto itself, taking a cue from Wendy Carlos and other pioneers of synthesized music.

MIDI is especially well suited to music libraries on the web, because the files are small and load quickly. Many people maintain large collections on their web sites, often with music that can't be found in published works (see Traditional Music for my collection and Links for some other references).

To play MIDI files on your PC, you need a sound card, speakers, and MIDI software. These items have become standard on most home computers under the "multimedia" banner. If you added your own sound card but aren't sure about software, note that Windows 3.1, 95, and 98 all come with a small program called Media Player (MPLAYER.EXE) which will play MIDI files.

MIDI playback from the net requires a browser that can handle them. Netscape Navigator 3+, Microsoft Internet Explorer 3+, and AOL's latest browser can all do this, but I'm not sure about older versions or other browsers. If you're not using one of these browsers and can't hear MIDI files when you click on them, check your browser's documentation.

What follows is a basic primer on MIDI for the PC (see Disclaimers).

What's a MIDI File?

A MIDI file is a set of code that is interpreted by hardware and software, and played back as music.

Now, I know what some of you are thinking: Doesn't this describe an audio CD? In a word, Yes. It also describes digital tape, WAV and AU files on your computer, and even analog recordings on tape and vinyl. Each of these items contains a form of code that must be translated to hear the music.

However, when you play a CD, cassette, etc., what you hear is a captured performance. There may have been some editing and enhancements in the mixing process, but for the most part, the performance took place up front, and the final product cannot be altered.

A MIDI file, on the other hand, is a not really a recording, and often not even an actual performance as we know it. The basic tracks can be captured in real time if you have a MIDI instrument, but the final product is created by programming or "sequencing" the code, sometimes shaping one note at a time. Once the sequencing is completed, the code is fed to a synthesizer, which generates the actual tones.

MIDI code contains not just notes, but cues for key, tempo, dynamics, and many other factors, including the instrument sounds. These cues are all manipulated to create what you eventually hear. And if you have appropriate software (which is relatively cheap), you can easily create and manipulate MIDI files yourself.

Click on the following links to hear for yourself:

Clip One
Piano, D major, quick tempo
Clip Two
Violin, G major, slow tempo
"The Heritage Polka" by Chris Peterson. © 1997 by Christopher W. Peterson. All rights reserved.

These are obviously the same tune (an original of mine called "The Heritage Polka"), but they sound quite different. If you wanted to make these two versions in regular audio fashion, you'd need two separate instruments (piano and violin), the knowledge and talent to play them both, and the equipment to record them. Then you'd need to record the tune twice.

You don't have these limitations with MIDI -- in fact, you don't even have to know how to play the instruments, because the equipment does it for you! I created Clip One by saving my notation file as a MIDI file (more on this later). I then made a copy and changed the key, tempo, and instrument sound to create Clip Two.

You can't do anything like this to a regular audio file without very expensive digital equipment and a great deal of expertise, but with MIDI, you can do it quickly and inexpensively.

Another nice thing about MIDI files is that they're very small; each of the above files is only about 600 bytes, or 0.6 kb. This makes them an excellent way to share music over the net, because they take up very little room on the servers and load quickly.

WAV and AU files, by contrast, are huge, because they have to carry information for the full range of audible tones (roughly 100 - 12,000 Hz), even if those tones aren't played. A 16-bit mono WAV recording of the file you just heard would be about 330 kb, which is about 550% larger than the MIDI file. And the clip is only 8 seconds long!

The main drawback to MIDI files is that they can only sound as good as the synthesizer through which they're played, and this depends on the sound card in your PC.


The Sound Card

A sound card is a standard add-in card that fits into one of the expansion slots in your computer (on many newer PCs, the sound hardware is built into the motherboard). It contains a music synthesizer, a small amplifier, input/output ports for speakers, microphone, etc., and a MIDI port. The standard-bearer in PCs is Creative Labs' Soundblaster, and most software and sound cards are compatible with it.

For regular audio files (like you'd hear on audio CDs and in better computer games on CD-ROM), the quality of sound will depend on the card's ability to play back in stereo (which most do) and the quality of your speakers. This is because the audio signal you're hearing is encoded in the CD, and playback bypasses the synthesizer entirely.

Since MIDI files depend on the synthesizer, the sound quality of these files will depend largely on the type of synthesizer on your sound card.

FM Synthesizer
This synth artifically simulates different instrument sounds by generating electronic tones. The result is simple and unrealistic, like cheap electronic keyboards, and they don't handle dynamics and other musical subtleties very well. These cards all sound pretty much alike, and the main differences will be found in features like 3D sound (for games), bundled software, compatibility, and reliability.

Wavetable Synthesizer
This synth has digital samples of actual instruments stored in its own memory, so that when you choose, say, "piano," what you hear is an actual piano sound. It also handles of a full range of musical shading, down to speed and power of attack. The result is a lot closer to reality than an FM synth, and in the hands of a skilled programmer, it can be frighteningly real. Some wavetable synths are on stand-alone sound cards, and others are on daughterboards that connect to an FM sound card. As with most computer hardware, prices have come down to a point where wavetable is about as inexpensive as FM. However, most new wavetable hardware requires at least a Pentium 166MHz and an open PCI slot, so be sure to check your PC and the minimum system requirements if you're adding a card to an older PC.

More recently, wavetable synths can be found in a few external modules, most notably from Yamaha. These units will require a MIDI port on your PC, which means you'll need a basic sound card of some sort in addition to the module, but the sound you is likely to be better. In addition, because it's an external MIDI component, there are few, if any, compatibility problems. All you'll need to remember is to set any and all playback settings to MIDI OUT instead of the on-board synth, and call up the appropriate MIDI map for the module.

Wavetable synths vary greatly in sound quality, depending on the main focus of the designers (music or games), the amount of memory on the board (more means a greater sample of sounds for each instrument), the quality of the samples, and the quality of the instruments from which the samples were taken. If you're going to create music, it's best to look at boards that are marketed to musicians, and don't scrimp too much. If the card is really inexpensive (say, $50 or less) or the package emphasizes audio playback for computer games, it could mean that the maker cut corners with the synth, and you may be dissatisfied.

Major makers of PC sound cards include:

How Do I Create a MIDI File?

I like to work in notation software first, because the format is familiar and doesn't require conscious translation. There are many such products available from the following and other vendors, with list prices ranging from $80 to $500 (retail/street prices are roughly $50 to $350): Minimum requirements vary from product to product, so look carefully to ensure you can use it. Coda and GVOX also make versions for the Mac, and GVOX claims compatibility across platforms.

Just about all notation programs will let you create MIDI versions of their files, ready for playback through MIDI software (Cakewalk appears to bundle both notation and sequencing in each of their products). They also contain some measure of MIDI sequencing, including instrument and channel assignment. The more expensive ones will follow repeats, endings and dynamics, and allow stereo placement, reverb, and a host of other sequencing features.

If you want to get into detailed sequencing, however, it's easier with software created specifically for that task, with list prices ranging from $150 to $300 (street prices roughly $100 to $200). Vendors include:

The method of creating MIDI files in a sequencer varies from product to product; check documentation to see what the requirements are if you choose not to use notation software. Most sequencers have the ability to at least display standard notation.


The MIDI Keyboard

Most software will allow you to enter notes with your mouse or PC keyboard, but if you want to speed things up and have more fun, you should consider adding a MIDI keyboard to your PC.

The MIDI keyboard looks like a piano keyboard, and it can be fully functional (with an internal synth, amp and speakers so you can use it apart from the PC) or a "dummy" keyboard, which exists only to send MIDI signals.

This keyboard is connected to your computer via the MIDI port on your sound card; it's a multi-pin socket on the back of your PC which is in line with small round sockets for speaker-out, line-out, line-in and microphone.

The keyboard will have a MIDI-out socket which looks like either the MIDI port on your sound card or an old-style PC keyboard socket (round with five pin-holes). It may also have an AC adapter for power, though some get their power directly from the PC.

To connect the keyboard, turn off your computer. Then connect one end of the MIDI cable to the keyboard (it should have come in the package) and connect the other end to the MIDI port on your PC. Plug in the AC adapter if there is one, and then turn the computer on.

Note: You may see an item called a "MIDI adapter," selling for $35 to $50, which goes between the computer and the MIDI keyboard. This is mainly for older computers and sound cards that don't have built-in MIDI hardware, so most folks won't need it. If you're not sure, try the keyboard without it first, unless you can buy and return it easily.)

When the PC was set up (or the sound card was added), it should have been configured to ensure that the MIDI port was active, so the only thing left is to configure your software to recognize incoming MIDI signals from that port, as well.

Look for a menu item called MIDI SETUP, or something like that. When the software asks for RECORD PORT, SYNC PORT, etc., choose "MIDI IN (330)" or whatever similar phrase your software displays. You may also need to click on a menu item to save these preferences.

Note: If there are no choices for MIDI in, your PC has probably not been configured to receive MIDI signals. Your soundcard should have come with setup software that would take care of this, so consult your documentation for more information. The MIDI port is sometimes referred to as "MPU401."

Once you've got everything set, make sure you have power to the keyboard and the keyboard is turned on (if your keyboard has the 15-pin MIDI plug, it's probably getting power from the computer). Then, when you load your notation or sequencing software, you should hear notes when you play the keys.

Note: You will not hear notes if the software is closed or minimized.

If the software is loaded and you don't hear notes when you play, check to make sure your speakers are connected and turned on, and that their volume control is not turned all the way down (it sounds obvious, but this is very easy to overlook). If you still don't hear anything, check your connections and MIDI setup choices in the software.

If you do hear notes, you're ready to create music. Here again, follow the directions in your software manual.

There are many choices in keyboards, from mini-size dummy keyboards for around $50, up to professional, self-contained synthesizers costing thousands. For average home use, you can find some nice, full-size dummy keyboards for around $100 to $200, including MIDI Composer from QuickShot Technology and Family Music Center from Midisoft. There are also several integrated keyboards from Yamaha and Casio that are MIDI compatible, costing roughly $350 to $600. Most of these keyboards have a full range of MIDI functions beyond note entry, including touch sensitivity, octave moves, pitch bend, etc.

Note: If you go for one of the integrated models, make sure it's MIDI compatible before you buy it, as both Yamaha and Casio make keyboards that aren't. There should be a "General MIDI" symbol somewhere on top of the instrument, and MIDI-out port on the back or bottom. If you don't see these things, move along.


The MIDI Map

In the basic MIDI format, called General MIDI, there are 128 instrument sounds, which can be applied to a MIDI file with appropriate software. These sounds are laid out on a MIDI "map," and each has both a name and number for reference. There's also a General MIDI Drum Map (assigned by default to Channel 10), which gives you access to a large assortment of drum and other percussion sounds.*

A MIDI file can consist of up to 16 channels (like tracks on a multi-track tape recorder), each of which can hold a separate "instrument," as defined on the map. Each channel can be manipulated separately for most cues, allowing you to mix the file the same way you'd mix an actual recording. You can adjust volume, attack, stereo position, reverb, and other effects to create a virtual recording in your PC.

In order to mix the "instruments" separately, each one must be assigned to its own MIDI channel. If you're working directly in a sequencer, this shouldn't be a problem, because you'll be recording or creating each channel separately. But in some notation software, all staves will default to Channel 1, so you'll need to set each staff to its own channel before you save the file in MIDI format. This should be simple process; consult your documentation for instructions.

I've done some basic sequencing as The Virtual Band, and you can hear an example in the form of a fully arranged version of "The Heritage Polka" by clicking on one of the following links. Click on the appropriate link for the type of synthesizer in your PC.

(I have a separate version for each type of synth because the guitar sound is a lot quieter on the wavetable, and for reasons that aren't clear to me, it overpowered the mix when played back through an FM synth. If you're not sure which type you have, try the FM version first; if you hear a rhythm guitar by the second go-round of the tune, you've got the right file; if not, try the wavetable version.)

The Heritage Polka (FM)
The Heritage Polka (Wave)
Music and arrangement by Chris Peterson. © 1997 by Christopher W. Peterson. All rights reserved.

I created this MIDI file with Encore and Digital Orchestrator Plus. I started with the basic tune in Encore (set for MIDI dulcimer), and added a second dulcimer (harmony), two fiddles, rhythm guitar, bass and drums on separate staves. Then I set channel assignments and rough dynamics and saved the whole thing as a MIDI file. I did the final sequencing, including stereo placement and balancing, in Digital Orchestrator Plus.

*Some software contains references to other maps or "devices," with names like Roland, Proteus and Korg. These are manufacturers of MIDI modules that work outside of computers, and which have their own maps. Unless you're using one of these modules, stick to General MIDI and drum maps. (Back to MIDI Map)


Computer Requirements

Generally speaking, just about any computer that runs Windows 3.1 or better and has a sound card will play MIDI files, even a 386-25. As a language, MIDI just isn't that demanding.

Unfortunately, new hardware and software is being designed for Pentium-based PCs running Windows 95 at the least, and a P166 has become the minimum for most of them. This can be discouraging if you have a slower processor and Windows 3.1, but as you may have noticed, PC prices are dropping almost daily, and these days, used Pentium systems can be had for a song (pun intended). If you're shopping for a used PC, try to get at least a Pentium 166 MMX processor.

All the same, if you've got at least a 486-33 with 8 mb of RAM, Windows 3.1 and a sound card, you can probably get along well enough if all you're doing is playing basic MIDI files. Just be sure to check the minimum requirements for any new software and hardware to make sure your PC can handle them.


Publishing on the Web

As noted, there are many people who publish music on the web -- including, not coincidentally, me (see my Original Music and Traditional Music pages). These libraries are maintained as audio files (mainly MIDI) and/or sheet music (graphics). This is an excellent way to share music, especially if your focus is on the traditional type, a lot of which can't be found in regular published works.

If you already have a web site, adding MIDI files is a breeze. All you need to do is upload the MIDI files to your site (select binary file type if your FTP software asks) and set up hypertext links to those files on one of your pages, just like you did with your graphics files.


When you upload material of any kind to the web, you are publishing it, and you need to take the issue of copyrights seriously. As long as the work you're publishing is in the public domain, copyrights present no particular problem because they either expired or never existed in the first place.

But if the work is copyrighted, you need to be careful. I'm not a lawyer, and I don't even play one on TV, so this is not legal advice, but simply my understanding of things. For full information about copyrights, visit the Copyright Office's web site at

Original music is considered copyrighted when it's committed to paper or recorded medium, even if the owner hasn't registered it with the Copyright Office. Registration is highly recommended by experts, but it serves to protect the copyright, not create it.

If you have sole ownership of the copyright (which is not necessarily the case for work you create), you can pretty much do what you want with it.

Downloading someone else's original music could be tricky. Since I don't know how the law looks at downloading (which is a form of copying), I don't do this unless the owner publishes a statement with the music that specifically grants such permission.

Same goes for uploading -- I'd get written permission from the owner first, including details about any royalties. I'd also include the composer's name and copyright notice, along with the phrase "Used by permission." If I wasn't sure about ownership, I'd hold off until I was sure, gaining permission as needed before proceeding.

When I upload my own music, I try to remember that I'm publishing "scattershot" into millions of private homes and businesses around the world. It'd be nice to think that everyone is honest and respectful, but there are always a few who aren't, and there doesn't seem to be a foolproof way to protect these files. It's a risk, but the alternative is keeping my music locked away, and what good is that?

Still, I include a note specifying that the music is mine, along with the phrase Copyright © (year) by Christopher W. Peterson. All rights reserved. I don't mind others downloading and/or performing my music (there'd be no reason to publish if I did), but I include a statement to that effect anyway, noting any restrictions pertaining to recording, publishing, etc. And I register all my music with the Copyright Office. For details about registering, visit the Copyright Office's web site .


I hope this page has been of some help. If you like what you've seen, please let me know. Likewise, if I've missed or misrepresented something, that'd be good to hear, so I can update the page.

Now, go make some music!

click to play!

  • The information in this document is what I've learned about MIDI from various sources and trial-and-error, and I wrote it with the hope of saving others the trouble I went through finding it. But take the word "primer" literally; a full discourse on MIDI would fill a large book and is way beyond my knowledge to impart. Also, despite my efforts to avoid them, there may be errors in this document. If you find any or have other information to share, please contact me.
  • I work in Windows and don't know Apple products, so this is geared toward Windows users. However, Macs have been MIDI-capable for a long time, and since MIDI files are compatible with both platforms, the concepts should be the same.
  • Product mention does not imply endorsement. Product names are trademarks of their respective manufacturers.


© 1997 by Christopher W. Peterson.