I don't have much to say about non-computer-based music anymore. I still listen to it, but it's in the minority of what I listen to, I think.
There are two main types of computer-based music: tracked and synthesized. With tracked music, the recorded instruments are included with each song. This results in good quality and artistic freedom and security at the expense of file size. Synthesized music has *much* smaller files, but the quality is a function of your synthesizer. Unfortunately, consumer-level sound cards have had, until recently, low-quality synths. Software-based synths have not had very good quality either.
Tracked music originated on the Commodore Amiga during the 80's thanks to resourceful use of its unique audio hardware. It began with the MOD format which could originally mix up to 4 channels of audio at once. Eventually the MOD format was extended to allow 6 channels, then 8 channels, then even more. Other formats evolved with more channels, new commands, and better sample capabilities. In chronological order, the major formats were S3M, XM, and IT. Kosmic is a good source of electronic music (techno, rave, dance, etc) in these formats. The best player is Modplug Player.
Tracked music was also used by the SNES console system. People have come up with a format called SPC, named after the main sound chip in the SNES. SPC music is extracted directly from the game ROM image, so it sounds almost exactly like it would on the SNES. You can get SPC files at Zophar's SPC Archive. ZD-spc is a good high-quality player, but it doesn't work on everything so get the Winamp plugin too, which is almost as good quality but is not always completely stable...
The standard format for synthesized music is MIDI. The acronym MIDI stands for "Musical Instrument Digital Interface" and can be used in reference to the MIDI file format, the MIDI specification, and MIDI technology in general. MIDI is extremely efficient. Most songs are in the range of 10k to 30k. The filesize is more proportional to the complexity of the song, rather than just the length of the song.
The quality of MIDI music depends on several things, usually in this order of importance:
Many older and common sound cards, like the Sound Blaster 16, used FM synthesis. This has, unfortunately, given MIDI a bad name. FM is not is a sufficient technology for playback of MIDI music. Wavetable is the other major synthesis technology. It involves a collection of recorded instruments (called samples) which are mixed by the synthesizer. Most wavetable sound cards store these sample sets on the card in ROM. Some also have RAM, into which user-defined sample sets can be downloaded. The latest trend, starting with PCI sound cards like the Sound Blaster Live!, is to use system memory to hold the samples. This has the advantage that you can use very large sample sets and the manufacturing cost of the sound card is reduced, because there is no longer a need for on-board RAM. The downside is that you're using precious system memory instead.
My experience with MIDI began with the original Sound Blaster. It used FM synthesis. In order to obtain good results with FM, conditions must be carefully controlled. The music must be composed for the specific FM chipset that will be used for playback. This happened in some games, but with few standalone MIDI files.
Then came the Gravis Ultrasound. It had true wavetable capabilities and its own patch (sample) set stored on disk. When a MIDI file needed to be played, the patches used by that file would be downloaded into the sound card's 1MB of DRAM. This technique has been called patch-caching. The quality of the patches varied quite a bit, but overall it was decent.
Eventually I got a Sound Blaster AWE64 Value. It had 512K of ROM and 512K of RAM. The ROM samples are pretty good. The real MIDI feature of the card is the ability to use "soundfonts" - collections of instrument definitions. One game, Final Fantasy 7, provided its own 512K and 4MB soundfonts, and it worked out extremely well. There weren't many general 512K soundfonts available though, so I upgraded the card to 8MB. There are two great quality 8MB soundfonts that I use - the 8MB soundfont provided by Emu, creators of the soundfont technology, and the Chaos 8MB freeware soundfont.
I was pretty happy with MIDI at this point, but one day I found a site with a lot of music from old Sierra games in a variety of formats. The same song could be available for GM, GS, XG, and the MT-32. I ended up buying a Roland Sound Canvas SCC-1 (internal sound card from 1993) and MT-32 (external MIDI synth from 1987). It was well worth it! These are great synths with a lot of soul to them... and it is always wonderful to hear music on the synth it was written for. I've recorded some MP3's of music played through the MT-32 and SCC-1 so you can experience it too.
[Begin rather dated statements]
My most recent purchase was a Sound Blaster Live! Platinum, which is similar to the AWE64 but it's PCI, it has a much more advanced DSP which is quite flexible and easy to configure, and it uses system memory instead of onboard RAM to store soundfont data. This means no more 8MB barrier! I've used up to 64MB of my system memory for soundfonts, and the resulting quality can be incredibly good. No longer so tightly pressed for space, soundfont authors can use longer samples with higher resolution. Instrument balance and parameter tweaking is still as important as it was before though. I usually use the Chaos 12MB soundfont now for general purpose MIDI, but the unfinished Fluid soundfont shows great promise!
What's in store for the future? I'd like to see hardware that can directly use compressed (MP3 perhaps) samples for soundfont data. That would REALLY open things up for soundfonts! A future LiveWare update, perhaps? Hahaha... Anyway, if I ever get good at sequencing (I have a long way to go) I might buy a modern Sound Canvas. The ancient SCC-1, the first-generation Sound Canvas, is still a great MIDI module today... the modern Sound Canvases must be incredible. Of course, they have price tags to match...
[End rather dated statements]
Update: The Sound Blaster Live! was kind of crappy for MIDI due to its limited MIDI implementation (not many controllers) and buggy soundfont support (effective 32MB barrier.) I ended up getting a Roland SC-8850 after all, which has been an excellent piece of equipment.
Back to Tom's Music Page