Not only that, but instead of actually recording zillions of bytes of information (normal audio recording takes 5 MB per minute per track!), MIDI takes only a couple of KB. So it's quite reasonable to ship MIDI files around without huge downloads, and send them all over creation on slow serial lines (which is all a MIDI interface is)...and then do things like on-line jams (try that with "real" audio).
Now, the implications for recording are many:
- take a MIDI file and trigger it with a SMPTE track on a tape recorder (digital or analog). It can and will play back in perfect sync with whatever's on the tape, which means that you can record tons of tracks via MIDI, building up a complex multitrack production, but not actually lay it down to tape until the final mixdown. This is called "virtual tracking" and it's been done for a decade at least...way before digital recording. It means that the MIDI will sound pristine, not lost in generations of tape copies. Here's a nice tutorial on how to do this.
- you can change the sound of a track or an entire production by sending the MIDI output to a different sound module. So for example, you can send MIDI track 10 (used for drums) to a real drum machine instead of a computer sound card, and get far better sound. Or take a piano track and have an expensive piano sound module play it back.
- you don't even have to play an instrument! Take a prerecorded MIDI drum track (from, let's say, a licensed collection of same), change the tempo for your song, add a couple of extra beats here and there that you like, and you have a drum backing.
That's just a few...there are many more!
The sound from MIDI file is generated by whatever your MIDI sound player (or sequencer) tells to generate it. That sounds a bit theoretical (no pun intended), but stick around...
Go into Windows Control Panel/Multimedia/MIDI, and you'll see that if you click around there, you could actually reconfigure new instruments that would play on certain channels, if you had them. So, as I mention above, you could assign all drum sounds (channel 10) to a drum module if you had one.
On a standard, typical, generic, cheapo comes-free-with-the-computer sound card, the sounds generated by the card (by hardware, but technically usually the sounds are software stored in ROM) are all you get.
Some cards have downloadable RAM or similar technologies so you can change the sounds, and some are the equivalent of samplers, so you could download a real WAV of a single guitar note (or any other instrument) and the sound card could "transpose" it to the other notes when you want to play them. At that point, the hardware isn't quite generating the sound as much as acting almost like an effects box with a sampler built in...or a mini digital audio recorder with pitch shift!
Anyway, this does indeed mean that when the MIDI file says "play French horn patch for .24 seconds of C in the 4th octave", that will sound different on every different sound card or synth.
The advantage of General MIDI is that French Horn is always patch number 60, and piano always #1. Before G.M., all synth makers used their own numbering scheme, and I can tell you it was no fun!