MIDI files (the ones with the .mid extensions on your computer) are most of the time associated with crappy, artificial sounding, karaoke-ish music. This is due to the fact that most basic computer sound setups use either artificially synthesized instruments (FM synthesis) or low quality wavetables (actual recordings of instrument sounds) to play these .MID file. Back in those days when Internet broadband connections were rare, MIDI files are a common way to transfer music across the Web because they are generally small. But today, with broadband Internet becoming more common, and with the development of high quality audio compression such as MP3, MIDI files are becoming less useful to ordinary computer users. Their uses are now limited to game and karaoke music, or used as cell phone ring tones.
One mistake is to blame the low quality of music to the MIDI files. A MIDI file (sometimes called Standard MIDI File or SMF) contains nothing but signals or instructions that tells a MIDI compliant device how to reproduce the music. Think of as a virtual sheet music. For example, if you try playing a piano piece on a Steinway grand piano, it would definitely sound much better than if you play the same piece on an upright home piano.
If you happen to have a General MIDI (GM) compliant musical instrument (which most modern portable keyboards are) lying around, try connecting it to your computer and let it play your MIDI files. Check the back of your keyboard if it has the MIDI IN and MIDI OUT ports. If it has, then it is GM compliant. You don't have to buy additional expensive hardware for your computer. Just buy a low cost MIDI to USB cable available in most music stores (or online). Just follow the manual that goes with the device. You should be able to hear a better sounding music immediately. Note however that some portable keyboards sound better that others.
But what if you don't have a MIDI gear? Are there any other ways to make your MIDI files sound better without having to buy an expensive piece of equipment? Yes there are other ways. I'll explore two in this article. One is the use of software wavetables and the other is using sound fonts.
I will not delve into the technical aspect or definition of a wavetable. (If you're interested, look here) Just think of it as table or collection of actual recordings of instruments or waves. When it receives a signal from a MIDI file or device, you will hear the actual sound of the instruments. This results in a more realistic reproduction of the music. Wavetables are sometimes imbedded in the soundcard itself. But what I'll discuss here is the use of software wavetables which is not dependent on any hardware. You can just use your existing soundcard.
What I'll discuss in particular is the Yamaha S-YXG50 SoftSynth which I am using at present. This darn thing just blows me away! The sounds are amazingly realistic (even better than my Casio keyboard). Plus, you could add some effects like reverb and chorus. Unfortunately, I've just found out that Yamaha long abandoned this project and stopped selling it. I just got my copy from a file sharing site. (Download it here) Since this software is considered abandonware, I think you can use it without any guilt or whatsoever. Just download it, and extract it using WinRAR. You may need to carefully examine the instructions on how to install it in the included README file. I'm also assuming that you are using Windows XP. Once successfully installed just go to the Control Panel and double click Sounds and Audio Devices. Select the Audio tab and under MIDI music playback select YAMAHA XG SoftSynthesizer. Now, when you try playing MIDI with Media Player, it will use the YAMAHA XG softsynth as playback device. But a better option is to use the XG player that comes with the bundle instead of using Windows Media Player. One of the advantages of using the XG player is that you can assign instrument sounds (including Yamaha's XG sounds) to each MIDI channel. You also have the option to mute a certain channel if for example you want to sing or play along. You can transpose your music instantly or change its tempo. You can also assign any of the built-in effects like reverb or chorus and adjust the levels for each of these effects. The pianos in this software synth are multi sampled and are amazingly realistic. Don't take my word for it. Try it for yourselves and you too will be blown away!
A full definition of SoundFont is found here. As you can see from the definition, SoundFonts are somewhat similar to wavetables in that they both use wave samples of real instruments. The advantage of using SoundFonts however is the ability to expand your sound collections either by downloading SoundFont files (.sf extension) from the Internet or by creating or sampling your own sounds (i.e. if you have a SoundFont compatible sound card such as Sound Blaster).
You can enjoy the beauty of SoundFonts even if you don't currently have a SoundFont compatible sound card. There are software that do the job. Right now, I'm using SynthFont which is a nice tool for playing MIDI files using SoundFonts. It's main features are the ability to assign a different SoundFont for each MIDI channel and the ability to render your MIDI files into other formats such as .WAV or .MP3. You can render MIDI files into a single .WAV file or into multiple .WAV files by MIDI track. You can then use these multiple tracks on your audio mastering software such as n-Track or Cubase. You can also add VST effects but I have yet to explore this feature. And it can also act as a MIDI sequencer. Cool, eh!
You can download SynthFont here. This site also contains the instructions on how to properly install the software. Just read them carefully and you can never go wrong. Once installed, its just a matter of loading the MIDI files you want to listen to and press the PLAY button. The basic installations provides you with a default SoundFont that you can immediately use. However, this SoundFont is a low quality one and you may be disappointed by its sound. The real exciting part is when you start hunting for high quality SoundFonts over the Web. Just google your way across the Internet and it's not hard to stumble upon some free high quality ones. You have to note that most SoundFonts specialize in a certain instrument sounds. There are SoundFonts that contain only piano sounds, others string sounds, and others guitar sounds, etc. Using SynthFont, you can then assign these specialized SoundFonts to their corresponding track in your MIDI sequence, producing a more professional sounding music.
Ok. I'll give you one link to a free SoundFont download site just to help you get started.
Here it is: http://soundfonts.homemusician.net/
So go ahead. Try these methods that I've just discussed and make those boring MIDI music come to life.