|
Getting the most out of MIDI
(.mid)
and karaoke (.kar) files --
A brief introduction by Howard L. Kaplan,
songwriter and occasional performer
|
|
Executive summary
If you have a fairly recent Sound Blaster or compatible
sound card, you can download and install sound fonts
that sound more realistic than the ones supplied with your card.
If you want a versatile way to play .mid and .kar files under Windows, there's
an excellent free player by vanBasco.
|
What is MIDI?
MIDI is the computer age's equivalent of a player piano
roll. Unlike .mp3 files, which are used to transmit actual sounds
(in a compressed format), MIDI files transmit instructions for a synthesizer
(which could be a computer) to play sounds. This results in a great
saving of transmission time and disk space -- you don't need DSL or cable
to download the files conveniently. This also provides you, the listener,
with many options for controlling the resulting sound. However, these
options mean that you need to make choices and possibly download new software
in order to get the most out of those files.
Almost everything I have to say here applies to both MIDI (.mid) files
and karaoke (.kar) files; the latter are basically .mid files with special provisions to synchronize
a lyrics display with the music. MIDI files can also include lyrics,
but fewer players will recognize and display those lyrics.
MIDI choice #1: sound fonts
MIIDI files don't contain sounds. They contain instructions
to play sounds, and something must carry out those instructions in order
for you to get sounds out of your computer. Now, MIDI files don't
specify instruments with words such as "piano"; instead, they specify instruments
by numbers. Fortunately, most of the MIDI files you'll find on the
Internet use a system called "GM", or "General MIDI", in which the same number
always means the same instrument. For example, #23 is a harmonica, #69
is an oboe, and #111 is a fiddle. However, there are lots of ways to
make sounds that resemble these real-world instruments, and they don't all
work equally well.
Roughly speaking, MIDI instruments come in three flavours. I'm
describing them as if they're inside a personal computer, but the same technologies
methods are used in external synthesizers and keyboards:
- Totally synthesized sounds, often using a technique
called Frequency Modulation (or FM), that make very unrealistic instruments.
The "oboe" sound will sound will probably sound more like an oboe than
like a banjo, but that's not saying much. Inexpensive sound cards or
chips, especially those built into notebook computers, may use this technique.
It was very common in earlier years, when memory was expensive, because
this technique requires very little memory and not much computer power.
- Waveform sounds, which are based on recorded samples
from real instruments. These are also called "sound fonts". Done right,
these can sound very good. However, there are lots of ways these can
go wrong. For example, a loud flute is not just the sound of a soft
flute with the volume turned up -- it's a different sound. It being
impractical to store all of the possible notes and volumes of any instrument,
sound font designers need to make intelligent compromises about which notes
and volumes to store and how to fake it when you ask for a note in between
two notes that are actually stored. The sound fonts supplied with some
sound cards are optimized to save memory rather than to sound good, which
is why there are many alternative fonts on the net. According to the
reviews, some of these alternatives don't sound very good, either,
but fortunately there are many that do.
- Physical models, in which the computer works out
the equations for how sound would develop in a real instrument, taking into
account pressures, volumes, echoes, etc. Computers are just now becoming
fast enough for this to be a practical approach, and it seems to work very
well for some instruments.
Most of the better-quality sound cards available these
days use waveform memory, and they use it in a form that lets you supply
the waveforms. That is, if you don't like the sound of the oboe that
comes with the card, you can download or buy a better oboe sound and use
that one instead. In fact, you can download entire GM instrument sets.
I'm familiar with using this option on the Sound Blaster cards, but
it works in a similar way on other cards.
Even if a computer has only synthesized instruments
built into its sound system, it can also play back pre-recorded music files
(that's how it plays .mp3 files, for example). Basically, the computer
doesn't tell the sound card to play notes; instead, it computes the entire
sound waveform and has the sound card play it back at 44,100 samples per
second per channel. Now, the sound card doesn't care whether those samples
come from an uncompressed CD, a compressed .mp3 file, or a program that pretends
its a MIDI synthesizer. Therefore, a software program can use a waveform
library and thereby improve the sound you get from the system when playing
back MIDI files.
Here are some specific recommendations:
- If you have any of the
recent cards in the Sound Blaster series, and if you have 128MB or more of
computer memory, download some GM Sound Fonts from a source like HammerSound. I particularly
like "Unison" and "GeneralUser", but there are many I haven't tried. I'm
not giving you exact URLs for these fonts, because it looks like they may
jump from page to page within the site, but the last time I looked they were
categorized under "SoundFonts of type Collections": Unison was on top of
page 5, and GeneralUser was on page 2. Note that some of these fonts
are compressed with non-zip compression and require special tools to uncompress
them. Instructions for decompressng the fonts should be on the sites
you download them from, and instructions for installing the fonts should
be in your sound card's help file. Note that these two fonts occupy
about 32MB each, compared to the 8MB for the largest font shipped with the
sound cards, so you can see the potential for improved sound -- if you have
enough memory to support them!
- If your sound system does not support downloadable
sound fonts at all, try a program such as QuickTime that has GM waveform
sound fonts built into the software. I find that its sounds are not
as good as those from the 32MB downloadable fonts, but I expect that they're
better than FM synthesis or very small sound font libraries. Another
alternative is Melody Assistant, which is basically a music composition and
notation program but also includes a software waveform synthesizer for playing
back what's composed or imported. It's available in both PC and Macintosh
versions from Myriad Software.
- If you've installed QuickTime, you have a choice
between telling it to use your sound card's fonts or to use its built-in
software synthesizer, which is its default. To
make this choice, you can start QuickTime from a menu or icon and select
Edit | Preferences | QuickTime preferences; alternatively, if you have it
installed as a plug-in, you can start it from within your browser by playing
a MIDI file, waiting for the control (stop, pause, etc.) to appear on the
screen, right-clicking the screen, and selecting "Plug-in settings". In
either case, select "Music" from the drop-down list at the top, and choose
the radio button for "General MIDI" to use your sound card's sound font
instead. (Of course, you can also use the same path to switch from
the sound font back to the software synthesizer.)
One of the limitations of any kind of playback is called
"polyphony" -- the number of notes that can be played simultaneously. Under
ordinary circumstances, higher numbers are good, because long-decaying notes
won't be cut off too soon while later notes are being played. However, I've
noticed a problem with this. Some of my files use an indefinitely-long MIDI
sustain pedal effect to make an acoustic guitar font sound more realistic.
This seems to work well with sound fonts on my Sound Blaster card but
not with QuickTime's built-in software synthesizer. Perhaps because QuickTime
has access to a lot of computer memory, it doesn't have the cybersense to
turn off notes that have dropped below the threshold of audibility, so
it eventually gets overwhelmed, and the sound starts breaking up. If
you find this happening, use one of the methods mentioned above to switch
from the software synthesizer to one built into a sound card.
MIDI choice #2: playback software
Unless you need to use software with a built-in waveform
synthesizer, you have a wide choice of programs that can play .mid and .kar
files. Here are some of the issues to consider:
- Most web browsers are configured to start playing
a .mid or .kar files if you simply click on the hyperlink to the file.
When you do that, the browser will generally call a separate application,
called a plug-in, to play the file. Different plug-ins are useful for different
purposes. However, it's a bother to keep changing the configuration
that tells your browser which plug-in to use to play those files (if you
can even figure out how to make those changes), and you'll probably leave
one plug-in configured all of the time, even though it won't do everything
well. Therefore, you should learn how to save the files to disk so that your
can play them back later with your choice of application.
- Some applications, such as
QuickTime, let you play back files using either a software synthesizer or
your sound card's synthesizer. Depending on your system, you'll probably
want to select one or the other and leave the configuration set that way.
- Some software will allow you to alter the playback
speed, the playback key (especially useful to adjust karaoke to your vocal
range), which channels (instruments) are playing (also useful for karaoke
to turn off the instrument that taught you the melody), or even which instrument
plays each track.
- In addition to displaying lyrics, some software
will display notes in real time on piano-style keyboards.
- For the ultimate in control, most notation software
will import .mid files, though the success of the import may depend on the
music's originally having been recorded inflexibly. Once it's imported,
however, you have a great deal of control over choice of instruments, relative
volume of different intstruments, etc. I've even taken .mid files of
classical works (e.g. symphonies) and imported them to get an idea of what
the score is like.
Here are my comments on some of the options available
under Windows.
- My favourite playback software
is vanBasco's Karaoke Player. It's designed to work as either a
standalone application or a browser plug-in. It uses the sound card's
fonts, allows for alteration of the pitch or tempo at playback time,
lets any voices be individually silenced, and shows visually what notes
are playing in each voice using a piano-style display. If lyrics
are present, in either .mid or .kar format, it displays them while the
song is playing, in a window of adjustable size and highly visible font. You
can download a copy here,
and it's absolutely free.
- MegaMid is primarily for .mid files; if you give
it a .kar file to play, it will display only four or five syllables at a
time of lyrics, down in the corner. What sets MegaMid apart, though,
is that you can change instruments for any channel on the fly. That
is, if you get a .mid file with a trumpet part and you want to hear it as
a banjo part, you can click on the word "trumpet" and work your way through
the menus to "banjo", while the song is playing. It can be inconvenient
to make this change quickly enough at the start of a song (even if you press
the pause button), and the change isn't remembered if you start the song over
(even immediately afterwards), but it's an interesting option. Also,
notes being played by each instrument are shown in a pseudo-piano display,
but it's less elegant than Van Basco's (no visual separation of black and
white notes). You can download a copy here, and it's absolutely
free.
- Winamp and Windows Media Player will both play .mid
files, but the current versions will not play .kar files correctly: Winamp
won't play them at all, and Media Player won't display the lyrics. This
is especially annoying because these products tend to get installed as browser
plug-ins.
- QuickTime will play both .mid and .kar files, though
the font for the latter is somewhat small. You can download a copy
here,
and it's free, but you'll get requests to upgrade to another version. However,
it may be your best choice if you want to use synthesizer software.
Based on reliable advice but not personal experience, on a Macintosh
under OS X it's easy to get the MIDI notes to play but harder to get the
lyrics to display. However, if you download the file, manually add
the .kar suffix if it doesn't already have one, and then open it from QuickTime
Player, you will see the lyrics properly.
These recommendations were last updated on 2 February 2003.
Return to Howard L. Kaplan's home page
Return to Links to songsheets by Howard L. Kaplan:
Lyrics, music, and MIDI files