Chapter 10. MIDI: Quick and Easy Audio for the Web
One of the quickest and easiest means by which to add sound to a web site is to use MIDI (Musical Instrument Digital Interface). MIDI allows for universal, cross-platform communication between computers and composers. It lets you easily integrate sound into your site by utilizing the same principles musicians and producers have used for nearly two decades. What makes MIDI a popular format for web audio is its simple learning curve, its inexpensive price tag, and its conservative use of bandwidth.
MIDI developed out of the need for a standard. In the late 1960s and early 1970s, electronic instrument makers began to create the world's first commercial synthesizers. Companies created systems that could communicate only with their own synthesizers. These machines were made popular by such music pioneers as Keith Emerson, Joe Zawinul, Walter and Wendy Carlos, and most notably, Herbie Hancock.
In the early 1980s, synthesizers started becoming more mainstream and computer software was developed to communicate with the electronic instruments. With the introduction of each new synthesizer, manufacturers were forced to write complex customized code to interface with each new product line. Due to the inherent inefficiencies in developing new software each time a new synthesizer was developed, the larger electronic instrument companies like Roland, Sequential Circuits, and Yamaha decided to create a universal standard that all electronic instruments and computers could understand.
During a 1982 conference, a group of music industry heavyhitters gathered to discuss a common protocol. In 1983, the MIDI standard was born with the introduction of the first MIDI keyboards by Roland and Sequential Circuits. Soon after, virtually every synthesizer manufacturer in the world was producing MIDI-compatible hardware.
10.1. MIDI: A universal approach
MIDI and MIDI-hybrid formats such as Beatnik or QuickTime Music Tracks are perhaps the best audio formats on the market for incorporating sound into limited-bandwidth environments. MIDI communicates between devices via a text-based code system or score. Much like the player piano of old, where hole-punch sheet music was fed into the piano, MIDI pianos and synthesizers can play back music translated into the MIDI format. When a user comes across a web page featuring MIDI, the embedded MIDI file or score is downloaded to the computer and played back via the user's MIDI-compatible soundcard or synthesis engine.
On most home computer systems, MIDI is played back with Apple's QuickTime plug-in or Microsoft's Windows Media system. These plug-ins feature a MIDI sound engine or a software-based synthesis module that replicates a set of common instrument sounds. Increasingly, popular web browsers such as Internet Explorer and Navigator 4.0 and later are starting to include built-in sophisticated MIDI sound engines.
10.1.1. Advantages to using the MIDI format
The main advantage to using MIDI on your web site is that MIDI file sizes are relatively tiny (usually between 2 KB and 25 KB) in comparison to other digital audio formats. Traditional digital audio files are measured in megabytes. Another advantage is that MIDI is a universal language, compatible with almost all browsers and computers across the Internet. In other words, you do not need a special plug-in, other than what is pre-installed in your web browser, to listen to MIDI files. This is important because many users are not comfortable with or do not want to download an extra plug-in to listen to other formats.
MIDI also happens to be ideally suited to the low-bandwidth web medium. MIDI playback has several key advantages over other web audio formats:
Despite its limited range, MIDI is so ideally suited for the Web that it's surprising that it's not used more often. However, MIDI is constrained in part by computers with cheap sound cards and by inferior software synthesis engines that cause more elaborate MIDI compositions to sound less than perfect. The MIDI file is simply a set of instructions about how a given synthesizer or sound engine should play back the particular MIDI file. All the texture and richness comes from the synthesis engine itself. For this reason, many people mistakenly assume that MIDI is to blame for the poor sound quality, when it is often the sound engine that is the culprit. When played back on a decent sound engine (software sound engines such as QuickTime are making nice advancements in quality), MIDI can sound very good, often making it difficult to tell whether the source was live or MIDI-produced.
However, cheap MIDI engines are not the only offender. Using poorly composed MIDI files or using unedited files grabbed from web sites also creates problems. With a little work, MIDI files can be made to sound good, even when played through a lower-quality MIDI sound engine.
If you follow good sound design techniques, you will find many uses for MIDI. And if you are already familiar with a MIDI editor, you will not have to face the steep learning curve involved with RealAudio, Flash, or Shockwave integration. MIDI is a good sound design alternative for creating mood and ambiance on your site. You don't always have to use the most sophisticated multimedia formats in order to add sound. If you just want to add a little intro theme music to your welcome page or a few button rollover sounds to your navigation bar, RealAudio and Flash may be overkill. Ask yourself if your site needs custom-built interactive Flash or Shockwave soundtracks or digitized audio broadcasts with RealAudio. If the answer is no, consider using MIDI.
So what's the catch? Despite some of MIDI's advantages, it has some drawbacks and limitations. For example, MIDI uses an entirely different method of producing sound than do traditional digital audio technologies. And because MIDI is basically a language for communicating music notation and not a storage format for digitized audio, there is no way to broadcast voices or prerecorded sounds with MIDI. Essentially, MIDI is limited to jingles, instrumental tunes, and ambient synthesizer background sounds.
Another disadvantage to MIDI is that each user's MIDI sound engine or hardware/software setup may contain a different set of musical instrument sounds. If you compose a piece of music in MIDI and use a great synth sound you have spent months customizing, chances are it is not going to sound the same played back over the SoundBlaster card or other MIDI sound engine loaded on your user's machine.
While initiatives such as General MIDI have helped to standardize MIDI playback, there is still considerable variance in playback from one device to another. General MIDI is a standard that specifies a common bank or a set of 128 musical instrument sounds that all MIDI devices share in common to ensure uniform playback. For example, with General MIDI, you can be assured program number 4 will be a honky tonk piano sound on any General MIDI device, instead of a flute or drum sound.
But General MIDI is not a cure-all; it merely specifies that your instrument settings should be the same from one General MIDI device to another. General MIDI cannot tell each synthesizer or sound engine how to reproduce a particular bamboo flute, grand piano, or a more difficult sound, such as an angelic synth chorus sound. Each manufacturer's MIDI-compatible device uses a slightly different technique to reproduce sound. This means you cannot guarantee exactly how your MIDI music score will sound when played back through a user's particular set of instrument sounds, especially if you are using a subjective description, such as "tubular bells" or "Indian flute."
To avoid this problem, make sure your MIDI files are built around common instrument sounds that are easy to reproduce and fairly consistent from one device to the next, such as bass, organ, harmonica, and piano. Avoid using sounds that are difficult to reproduce, even instrument sounds such as guitar, saxophone, and most horn instruments, which all do synthesize well on expensive synthesizers. Later in this chapter, we show you how a new specification called DownLoadable Sounds (DLS), which offers more predictable playback with higher-quality synthesis, is helping create better standards, so you don't have to be as vigilant about your instrument selections. (See the sidebar "DLS: The future of MIDI" later in this chapter.)
The quality of MIDI playback is expected to improve in the near future as synthesis engines improve with faster chips and more extensive software. In 1999, we saw the advancement of some software synthesis engines, such as the new Unity DS-1 software sampler from BitHeadz. There are also several promising initiatives, including DLS, which is spearheaded by the MIDI Manufacturer's Association and companies such as Apple Computer and Microsoft. The music equipment industry is also seeking to improve the quality of MIDI playback via more powerful synthesis engines and standardization among sound cards.
Copyright © 2002 O'Reilly & Associates. All rights reserved.