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:
-
Near universal playback.
-
Availability of a copious amount of MIDI files featuring all types of
music.
-
Easy integration into existing HTML pages using a standard text
editor.
-
Availability of mature authoring tools, such as Performer, Vision,
and Cakewalk, and a large base of knowledgeable users on the Internet
and in the music industry.
-
The smallest file size per minute of any audio format. (An entire
minute of MIDI results in a mere 10 KB to 20 KB file, compared to a
one-minute 500 KB MP3 file or a 120 KB 28.8 Kbps RealAudio file.)
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.
What a difference a good MIDI sound engine makes
To demonstrate the audible difference between various MIDI
sound engines, compare the two MIDI
examples at http://www.designingwebaudio.com.
Example MIDI #1 is a recorded excerpt of a MIDI file playing
Beethoven's 5th Symphony. The file was played through the
QuickTime music instruments and the result recorded in 44.1 kHz
audio. As you listen to the sound, you may notice how the QuickTime
MIDI sound engine produces every note of Beethoven's 5th,
without missing a beat. You may also notice that the sound quality is
pretty good for a computer and a software synthesizer. However, the
deep, rich tones of the symphony are missing from this file. One
reason why software-based synthesizers (like those developed for
QuickTime) cannot reproduce the finer nuances of elaborate
compositions is the current processor speed and power of PCs. As
faster processors are developed, sound quality is expected to
improve.
Now listen to the second example, MIDI #2. We used the same MIDI
file, but switched the MIDI-compatible sound engine. We ran the MIDI
file through an Alesis Quadrasynth Plus (a hardware-based
keyboard/sound module) and recorded the outcome. As you listen to
this recording, the difference is noticeable. You may even think the
recording was made with real instruments. The reason Quadrasynth Plus
has better sound is simple: the sounds are actually sampled from
symphonic instruments and stored on ROM chips, then placed into the
synthesizer's hardware architecture.
QuickTime also uses samples and wavetables via the
Roland
Sound set.However, a dedicated
external synthesizer like the Quadrasynth Plus has more memory and
dedicated ROM for samples and therefore yields better sound. Most
hardware synthesizers sound better than most software synthesizers
because they have dedicated DSPs (Digital Signal
Processors) and because they're built specifically for music
applications. A DSP is a dedicated microprocessor used to process
sound by any number of ways the user requests. In the MIDI #2 file,
the DSPs are working to create the sound. In other cases, the DSPs
can be used to alter a sound by adding effects such as reverb or
delay. The advantage of a DSP is that it can be programmed to perform
almost any function.
|
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.
 |  |  | | 9.4. Summary |  | 10.2. Adding MIDI to your web pages |
Copyright © 2002 O'Reilly & Associates. All rights reserved.
|