Hi guys;
Yes, I have been down this road before
For a Midi file to play (with sound) you need at least THREE things...
* Your sound card MUST support Midi.
* You MUST have a set of Midi Sound Fonts (usually have a file extension of SF2).
* Your sound card has software to select which Sound Fonts you want to use. (most sound cards have a default setting for this).
Midi files are a simple set of instructions that tell the Sound Font bank what instrument to play, how load, & at what pitch. There is no music on the Midi file, only simple instructions. That is why Midi files are so small.
The actual instrument sounds are in the Sound Font Bank(s).
Sound Fonts are the actual musical instruments that the Midi instructions calls up to play. Without Sound Fonts your Midi files will play with no music as there are no musical instruments for the Midi instructions to play.
Usually the sound card will install a default set of 1 - 3 Sound Fonts so that Midi will have some instruments to play. Creative Sound Blaster for example installs 3; a small, a medium & a large Sound Font; the only difference being that the larger one sounds better... more natural & fuller & may also support more instruments at more timbres.
Some Sound Fonts are for only one instrument while others are for the whole range of instruments.
There are 127 separate basic sounds for Sound Fonts to play numbered 000 - 127. An example of a basic Midi sound is... "114 Steel Drums.mid" or "126 Applause.mid".
There are thousands of Sound Fonts banks available but usually only a few are needed.
EXAMPLE: Stereo Piano.SF2 is a good piano Sound Font but there are hundreds available for piano only.
Why so many for the same instrument? Well... no two pianos sound exactly alike. Some are dull, some are sharp, and some are not really a piano at all but may be a harpsichord.
Some Sound fonts can be very large; I have one, RealFont_2_1.SF2 that is 106 MB in size. My smallest, Bagpipes401.SF2 is only 90KB but it is specialized only for Bagpipes.
Some Sound Cards setups allow you to use many Sound Fonts together so you can customize the sound to get a large, full orchestra effect.
A single instrument Sound Font will ally override the same instrument in a large general purpose Sound Font thereby allowing you to customize the sound to get it "just right". EXAMPE: You may like all but the piano in your general full orchestra Sound Font so you add a custom piano only Sound Font. The Midi file will usually play the general full orchestra Sound Font for all instruments but will use the custom Sound Font for the piano... neat. This way you can have your cake & eat it too.
For more information on Sound Fonts do a Google search for them... thousands will turn up.
Sometimes if you did a custom install, you may have told the installer not to use Sound Fonts & have forgot about that detail 6 months or a year later. When I first installed my SoundBlaster card, I had no idea what Sound fonts were for so I told the installer not to install them. Two years later, when I tried to play some Midi files that I downloaded I could not figure out why none of them would play.
Re-installing your sound card software to the default settings sometimes will resolve this issue.
Hope this helps.