Soon after the IBM "personal computer" (ie, PC) first appeared in the consumer market in 1984, companies began to make cards that plugged inside of the computer in order to play and record music/audio/speech (since the IBM PC didn't have that capability built in). Some of the cards dealt only with digital audio playback and recording. Some other cards dealt with only MIDI input and output. Some cards even did both. (Remember that digital audio and MIDI are two entirely different things, although both typically serve the purpose of recording and playing musical performances).
At the time, the only operating system much in use for the IBM PC was called MS-DOS. It was Microsoft's precursor to Windows, and it was a text-based (ie, no graphical interface like we have now) operating system. The MS-DOS operating system was very primitive when it came to supporting audio/MIDI hardware. In fact, all that it supported was the internal PC speaker. If an MS-DOS program wanted to use any other audio hardware, such as a MIDI interface like the Roland MPU-401, or a sound card like the Creative Labs' Sound Blaster (ie, back then, these were the two most popular add-on cards for MIDI, and digital audio, respectively), the program had to manipulate the audio hardware directly, controlling it in order to make sound. If a particular program didn't directly support your particular audio card, then you wouldn't get sound from that program.
Because the very first, widely accepted MIDI interface for a PC was the Roland MPU-401, almost all MS-DOS MIDI programs directly supported this card. Because the very first, widely accepted Sound Card for a PC was the Creative Labs Sound Blaster, almost all MS-DOS game programs directly supported this card. (MS-DOS MIDI programs didn't support the SB because MIDI users weren't at all interested in the awful FM synthesis and very poor MIDI handling of the early SB. Likewise, MS-DOS game programs didn't support the MPU-401 because game players weren't interested in buying expensive external MIDI sound modules just to hear their game music. Furthermore, game programs needed to play digitized voice and sound effects on a card with a Digital to Analog converter, or DAC, which the SB had and the MPU-401 didn't. So, it was almost impossible to find audio hardware that could be used with both game software and music software).
Lots of companies making MIDI interfaces subsequently offered MPU-401 hardware compatibility so that their products would work with MS-DOS MIDI software that directly manipulated an MPU-401. For example, MusicQuest made the MQX-16. Likewise, lots of companies making Sound Cards offered Sound Blaster hardware compatibility so that their products would work with MS-DOS game software that directly manipulated an SB. For example, MediaVision made the PAS-16.
But typically, if you wanted both MIDI and digital audio support in your computer, then you had to not only buy two different cards to use with your software, but one of the cards had to be 100% hardware compatible with an MPU-401 and the other card had to be 100% hardware compatible with an SB. If you bought an MPU-401 clone from some company other than Roland, or an SB clone from some company other than Creative Labs, you often ran into hardware compatibility problems which made the MS-DOS software not work with the card. So, in the old days, hardware incompatibilies were very common. Also, the market was prevented from innovating beyond the MPU-401 and SB "standards" because the hardware was tied to the software and vice versa. It was a catch-22 situation. The hardware manufacturers couldn't innovate because then their new hardware designs wouldn't work with any software. And the software programmers couldn't innovate because the hardware manufacturers were too reluctant to invest in making new hardware that didn't already have a lot of software support. (Consumers shunned hardware that wasn't supported by a lot of software, for good reason -- you can't do much with hardware that has little software support). So consumers were limited to buying hardware that had only the features and performance of an MPU-401 or SB, and software that supported only one or the other.
Some years later, the Windows operating system was released. This time, Microsoft realized that some standards were needed for digital audio and MIDI support right in the operating system itself. Windows has specific functions in it to do various things with audio and MIDI. For example, it has a function to play a WAVE (ie, digitized audio) file on a sound card's Digital-to-audio Converter (ie, DAC). It has a function to send a MIDI message out of a MIDI interface's MIDI OUT jack. Etc. This group of audio functions is known as Windows Media Control Interface (ie, MCI). (In fact, Windows MCI also includes functions for video, as well as audio operation of CD-ROM drives. But as MIDI/audio enthusiasts, we don't care about that). So rather than manipulate the audio hardware directly, a Windows program will instead call these audio functions in Windows. For example, if a Windows program wants to send a MIDI message out of a MIDI interface's MIDI OUT, rather than directly manipulating the card's MIDI OUT port like an MS-DOS program would do, the Windows program passes that MIDI message to the Windows function that deals with outputting MIDI messages.
So what does Windows do with that MIDI message? Well, if your sound card or MIDI Interface has a Windows MCI driver for it (and virtually all audio hardware ships with a Windows MCI "driver"), and the card itself has MIDI playback support, then Windows will be able to pass that MIDI message to the card's driver which will actually send the MIDI message out the card's MIDI OUT jack (or maybe play the MIDI message on a built-in MIDI sound module).
NOTE: If you can hear the Windows system sounds upon your audio card, then you definitely already have it setup with a Windows MCI driver (and a card that supports digital audio).
In this way, a Windows program (including Windows game programs) can support any audio hardware that ships with an MCI driver. The Windows program doesn't care what audio hardware design is used; MPU-401, Sound Blaster, or anything else. If the program needs to do MIDI playback, all that is required is audio hardware that actually can do MIDI playback, and its Windows MCI driver. If the program needs to do digital audio playback, all that is required is audio hardware that actually can play digital audio, and its Windows MCI driver. For example, CakeWalk Pro Audio does its MIDI and digital audio playback and recording via Windows MCI functions. Therefore, CakeWalk can use the digital audio and/or MIDI features of either some fancy high-end audio hardware or some cheap "game card". (Actually, CakeWalk is smart enough to use MCI drivers itself, rather than just via Windows MCI functions, and can therefore use more than one card simultaneously for MIDI play/record. Other Windows programs strictly go through Windows MCI functions, and therefore their access to audio hardware is determined by the settings in Window's "MultiMedia" or "Sound" Control Panel utility, or Win3.1's MIDI Mapper).
So what Microsoft did was essentially make hardware/software incompatibilities a thing of the past. Consumers no longer have to worry about whether a particular software program works with their hardware, and vice versa. They are free to buy any software and use it with any hardware, and be confident that it should work. (This is not to say that all cards are created equal. Sure, a game card can be used to record a digital audio track with Cakewalk, just like a high-end card can. But the game card will typically create a track with a lot more audible "hiss" in it, and maybe roll off more of the high and low frequencies). Hardware manufacturers and software programmers were free to innovate, and since then, we have moved well beyond the MPU-401's MIDI limits and the SB's digital audio limits.
There's always a price to be paid. Sure, now consumers no longer have to ask "Is this hardware compatible with an MPU-401 or Sound Blaster?", nor "Does this software program require MPU-401 or Sound Blaster hardware compatibility?". The hardware incompatibility issues are pretty much irrelevant today, and today's software no longer requires specific audio hardware (although now it may require specific driver support, as I'll discuss below). Things have definitely improved there.
But, we have a new level of software support that we have to worry about, namely, driver support. Whereas it is completely irrelevant today whether the digital audio card you're considering is 100% hardware compatible with an SB, or the MIDI interface you're considering is 100% hardware compatible with an MPU-401, you do have to consider whether the card has good, complete driver support. If it doesn't, you could find yourself stuck with a useless piece of hardware, just like the folks back in the old days were sometimes stuck with useless hardware when it wasn't 100% compatible with an MPU-401 or SB, or they couldn't get software that supported their hardware.
As mentioned, virtually all audio cards made since the late 80's ship with a Windows MCI driver that offers the basic functionality of MIDI play/record and/or digital audio play/record. But over the years, Microsoft has added new features to the Windows operating system which drivers may utilize to give added functionality above the basic features. For example, some cards offer mixing capabilities that any advanced program can tap into (ie, if the program is likewise written for these new Windows features). For example, you may be able to pop-up a graphical "mixer" in Cakewalk to adjust the microphone recording level or speaker output (ie, Master Volume), and mute inputs/outputs, and control other aspects of the card. With older or "low quality" drivers, you may have no such features, or you may have to use some special software that ships with the card to adjust these settings. (ie, You can't fully control such settings on the card via software, and/or from one program like Cakewalk).
Another example is that some drivers are "multi-client" (or "multi-instance") whereas others are "single-client". Multi-client drivers allow more than one simultaneously running program to use the hardware. With a single-client driver, if you're already running one program that is using the audio hardware, and you try to simultaneously run a second program which wants to use that audio hardware, the second program will pop up an error message saying that "The device is busy". You have to close down the first program in order to run the second program. This can be annoying. (On the other hand, a properly written Windows program should avoid this error even with a single-client driver. Unfortunately, too many audio/MIDI programmers do not know how to write such software. If you encounter a program that gives you this error, send the following URL in an email to the tech support for that product: http://www.borg.com/~jglatt/tech/share.htm).
Microsoft has developed some new functions especially useful for new Windows software. These new functions are called DirectX, and they offer extra flexibility that MCI doesn't such as realtime mixing of many channels of digital audio. In particular, DirectSound is applicable to cards that play digital audio, and DirectMusic is applicable to MIDI. A Windows program has to be specially written to use these new functions, and many new Windows games now use DirectX for video and sound. So, if you have an MCI driver for your card, does that mean that you have DirectSound support, and that a program using such will work with your card? Well, yes and no. To take advantage of DirectX, you need an MCI driver for your card which also has some extra support for DirectSound/DirectMusic in it. If your sound card driver doesn't directly support DirectSound/DirectMusic, Windows can "manipulate" things such that a program using DirectSound/DirectMusic will be able to use your sound card, but there may be speed penalties involved, or some sound features may not work very well. Or the sound may even not work at all if the driver is really questionable. In conclusion, you really do want DirectSound and/or DirectMusic support in your card's driver if you plan to use programs that use DirectX (ie, mostly new Windows games at this point, but audio/MIDI software using DirectSound/DirectMusic may likely be on its way. You may be especially interested in DirectX support if you're using a software synthesizer -- a program running on your computer which emulates a MIDI synth. Software synths tend to work best with programs and drivers that directly support DirectX. And some of the audio programs that use "DirectX plug-ins" to add new features to the program may also benefit from drivers that support DirectX).
But by far the greatest source of problems will be related to Windows XP. Why? Windows XP is a very different operating system than Windows 3.1, Windows 95, Windows 98, and Windows Millennium (ME). Those latter 4 operating systems can all use the same driver. But a driver written for any of those 4 will not work for Windows XP. Windows XP is based upon the operating systems of Windows NT and Windows 2000, and it uses a completely different type of Windows driver than does Windows 3.1/95/98/ME. Now it is true that a driver written for Windows NT or Windows 2000 will very likely work for Windows XP. (So, if you can't find an XP driver for your hardware, look for NT or 2000 drivers). But, many sound cards do not ship with a Windows driver that supports NT, 2000, and XP. Those cards ship with a driver that supports only Windows 3.1, 95, 98, and ME. Windows NT/2000/XP drivers are more complicated to write, and a lot of programmers do not know how to write them (whereas 3.1/95/98/ME drivers are "old hat"). So, many music companies have very spotty NT/2000/XP driver support, if any support at all. Before you buy some audio/MIDI hardware to use with XP, make sure that you can get driver support for XP (or at least NT/2000).
For all of the above reasons, I want to stress that it's important to choose a sound card from a manufacturer who is good about providing updated drivers. You may be able to save a few bucks by buying a cheap sound card from "Joe's Sound Card Company", but if you can't get uptodate drivers for it, it may never function as well as a card with good driver support. Years back, I used to have to tell people that they were stuck buying Creative Labs cards due to hardware/software compatibility issues. Now that Windows MCI has made the hardware issues irrelevant, is that no longer the case? Sadly, no. To be perfectly frank, as perhaps the largest music company making computer audio cards, Creative Labs can afford to hire numerous, decent programmers, and so CL's driver support is typically a lot better than most other companies. And today, driver support is what really matters. A case in point: when I moved to Windows 2000, I couldn't get my Roland RAP-10, or expensive Mediator MIDI interface, or Turtle Beach audio card, or some other multi-port MIDI interfaces working. (These were all considered "better" than Creative Labs cards back when I purchased them). Why? Because they never had Windows NT/2000/XP drivers. Sure, they had drivers for 3.1/95/98/ME, but remember that those drivers will not work for NT/2000/XP. And the manufacturers never wanted to spend the money hiring developers to provide updated support for hardware that had been around a few years and was no longer selling (or selling very much). But what did work on Windows 2000? -- a Sound Blaster 16, because Creative Labs did release updated drivers for it. And so history repeats itself.
Now, a lot of companies like to "promise" future support, but you should take this with a big grain of salt. For example, one company rep I spoke with mentioned that they expected to have NT drivers available for their product within "a couple months". It is now 3 years since that conversation and they still have no such NT drivers (even though their web site still actually claims "Drivers for WinNT are being worked on". I don't think so). My rule of thumb is that, if appropriate drivers are not available within one month of release of the hardware, the odds are unlikely that you're ever going to see the driver support you want. It is unlikely that a competent, "inhouse" programmer would be more than one month behind the actual public release of the hardware, so the company has either hired someone questionable, or they've "farmed out" the work to an outside contractor. In either case, my experience is that such a situation forebodes a questionable commitment to driver updates. So don't hold out on any promise of future driver support longer than one month. (And wait a month before you buy if you're waiting on some "promise").
So, the important questions to ask about driver support for audio hardware is:
Now, this is not to say that, just because MCI allows a Windows program to perform MIDI and/or digital audio with most all cards on the market nowadays, you'll get the same performance from all. As mentioned, a game card can be used to record a digital audio track with Cakewalk, just like a high-end card can. But the game card will typically create a track with a lot more audible "hiss" in it, and maybe roll off more of the high and low frequencies. A cheap card may have only a 16-bit DAC (and ADC), rather than 24-bit, and so you may hear more "distortion" as you mix numerous audio tracks in realtime (for example, if you take a program that can record numerous, separate "tracks" of digital audio, such as Cakewalk or Cool Edit Pro, and then play all of them back simultaneously. Also, software synths, and/or DirectX software that does realtime wave mixing, can benefit from 24-bit, rather than 16-bit, DACs. Essentially, any time you're mixing more than 2 digital audio waveforms in realtime, you can benefit from higher resolution than 16-bit DACs. But playing back only stereo, 2 track audio shouldn't make any audible difference between 16-bit and 24-bit hardware).
Furthermore, you should be aware that some cards don't fully support (in hardware) all that is possible under Windows MCI operation. For example, some cards don't offer full duplex operation. Full duplex means that when you're recording a digital audio track, you can simultaneously hear previously recorded digital audio tracks being played back. Although you can use CakeWalk with a half duplex card, you won't hear previously recorded digital audio tracks when recording a new track, even though that's what CakeWalk could do with a full duplex card under Windows MCI. (But most all cards nowadays are full duplex). As another example, Digital Audio Labs CardD only supports digital audio playback and recording. It doesn't handle MIDI at all. CakeWalk could use a CardD to play/record digital audio tracks. But CakeWalk can't play/record MIDI tracks on a CardD (ie, you'd have to use a separate card for MIDI, or use a "Software Synth" as described below).
In other words, although MCI allows Windows programs to support a wide variety of cards, not all cards are created equal, and therefore there still are performance differences and limitations that you have to consider.
Finally, it should be noted that not everyone wants the same thing. For example, if you find the sounds and flexibility (ie, controller routing, patch programming, etc.) of the internal sound modules built into computer sound cards too limited, and instead prefer external MIDI modules, then you'll probably want a card without a built-in sound module, and a solid MIDI interface built in. On the other hand, if you play games, you'll very likely want a card with digital audio playback, and may not care about a MIDI interface at all.
In conclusion, you have to know what you want to do with audio/MIDI, and what kind of performance you require, before you can pick the card for you. If you just want a card to use with game software, then it's very likely that the "best" card for you is different than the "best" card for someone who wants to master a CD of his own compositions as played back on his audio card. And if you're a guy who wants to do both, then you may have to decide whether to invest in 2 cards, or find the best single-card compromise. Finally, since driver support is so important to the ultimate performance of a card under modern operating systems, you'll want to buy from a company that offers good, periodic driver updates.
If you're going to do any MIDI work, you definitely need hardware that supports MIDI input and output. I refer to hardware that deals only with the transfer of MIDI data between a computer and some external MIDI units as a "MIDI Interface". (Yeah, it's sort a misnomer since the last "I" in "MIDI" itself means "Interface"). MIDI interfaces usually have the MIDI IN and OUT DIN jacks right on the hardware itself. Some MIDI Interfaces take the form of a card that plugs into an ISA or PCI slot inside of your computer. Others take the form of an external box that attaches to the computer's serial (COM) or parallel (printer) or USB port. A MIDI Interface does not produce sound by itself. It needs some other, external MIDI sound module connected to it's MIDI IN and OUT jacks.
Because MIDI Interfaces are designed for only MIDI work, sometimes they have special features that appeal to professional musicians who need optimum MIDI performance. For example, some interfaces have multiple MIDI busses to allow MIDI data to be input/output more efficiently to many external devices. (See the article Multiple MIDI outputs for more information about such). Some interfaces offer SMPTE (and other forms of) synchronization. Some interfaces have very fast hardware-buffering of input/output (moreso than cards that aren't dedicated to handling MIDI). Without such buffering, MIDI playback can really hamper a fast computer, and cause it to perhaps slow down when it tries to simultaneously do other things. The absense of such buffering may even result in MIDI playback with weird timing fluctuations (ie, the rhythm of the music sounds "off").
Examples of MIDI Interfaces in ISA card format are Roland's MPU-401 (or MPU-IPC), the SuperMPU, MusicQuest MQX-16 and MQX-32, and certain Voyetra cards. Of these, the MQX-32 and SuperMPU each have 2 MIDI busses, as well as SMPTE sync. These are all older cards that are either out of production or not supported. There have not really been many new MIDI interfaces in the form of an ISA/PCI card. Most MIDI interfaces sold nowadays are external boxes that attach to the serial, parallel, or USB port, with USB being the most popular and best supported now.
Note: The original MusicQuest MQX-32 offered two independent MIDI busses, but the second bus (as well as SMPTE support) was disabled in Uart mode, and that's the mode that most all software runs an MPU-401 compatible in, including Windows software and MPU-401 drivers. MusicQuest also released the MQX-32M (which had 2 independent MIDI inputs) in 1989. A few months later in April 1989, MusicQuest, realizing that most software was running MPU-401 compatibles in Uart mode, redesigned the MQX-32 and MQX-32M to allow the second MIDI bus and SMPTE features to be used in Uart mode. I'm not sure of the firmware version that offered these changes, but the important thing to note is that only the redesigned MQX-32 offers multiple busses and SMPTE under Windows.
Examples of MIDI Interfaces that attach to the parallel port are Midiman's Portman series (comes in 4, 2, or 1 buss) and Mediator's MP-128S (8 MIDI busses, SMPTE). Some serial interfaces are Mediator's MS-124 (multiple busses) or MS-101. Examples of USB interfaces are Edirol's UM-880 (8 MIDI busses, IN and OUT), UM-2 (2 MIDI busses), UM-1S (1 MIDI bus), and MidiMan's MidiSport series (comes in 8, 4, 2, or 1 MIDI buss). Parallel, serial, and especially USB port interfaces are very useful for laptops running Windows. Some of the USB port interfaces are quite nice. They have multiple MIDI outputs (ie, busses) and even SMPTE sync. I'd avoid the serial port interfaces unless you know that your computer has at least a 16550 chip in it. Less capable chips won't be able to keep up with the MIDI baud rate required by the interface. And forget about serial port interfaces with multiple outputs. There's still a single serial buss (from your computer) feeding the interface. And my experience with parallel port interfaces is that they can sometimes not work with notebooks (although they seem to do fine with most desktop PC parallel ports). Most companies seem to have moved to making USB interfaces, and so the parallel and serial interfaces may not come with driver support for XP (whereas a lot of the USB interfaces do support NT/2000/XP. Edirol seems to have pretty good driver support, as do Midiman). USB is the way to go now, and can work with both PCs and Macs (given driver support).
Some external MIDI modules have a connector to which the module can be directly connected to a computer serial (ie, COM) port. So you don't need a computer MIDI interface at all for such a module. Besides eliminating the need for a MIDI interface, the module typically also has MIDI jacks to which you can attach more external MIDI units which can then pass MIDI data to and from the computer via this module directly attached to the computer. (ie, A MIDI keyboard controller attached to the module's MIDI In sends its MIDI messages along to the computer's COM port for input into the computer. Other sound modules daisy-chained to the module's MIDI out receive MIDI messages going out of the COM port). In other words, such a module functions as a MIDI interface by itself. Examples of such modules are the numerous Roland SC line sold through Edirol, as well as many Roland pro units such as the JV line. These units can even be attached to a Mac serial port (with the proper cable). Furthermore, the units can be attached directly to a keyboard controller, and used without the computer. They even have a headphone jack, making them ideal for playing MIDI scores on notebooks. Of course, you do need a serial MIDI driver for your operating system. (Windows 3.1/95/98/ME drivers, as well as some Windows NT drivers which work on 2000/XP, are available for Roland modules on Edirol's web site). The Roland JV-5030 can be directly attached to a USB port and function as a MIDI interface, as can some of the new Edirol models. USB will likely become the preferred port for MIDI sound modules that attach directly to some computer port.
If you're going to do any digital audio work, then you need audio hardware with a Digital to Analog Converter (ie, DAC) to play digital audio, and an Analog to Digital Converter (ie, ADC) to record digital audio (ie, digitize an audio signal running into the card's Microphone or Line Input jacks). I refer to such a card as a "Digital Audio Card" or "Audio Card".
The typical (ie, most supported) use of digital audio is for game sound effects and voice (ie, sound effects and voice are usually WAVE files played on the card's DAC), and also recording/playing a finished musical mixdown (such as creating a WAVE or MP3 mixdown of a song). See the Digital Audio on a computer FAQ for further information.
Most digital audio hardware for a computer takes the form of a PCI card (that plugs inside of your computer and has jacks on the back of your computer for speaker output, microphone input, etc). But some digital audio hardware comes in external packages such as Roland's Audio Canvas UA-100 which connects to a USB bus. (Parallel and serial ports are too slow for digital audio transfer in realtime, so products are not available for those ports).
Most all sound cards on the market today offer digital audio playback/record. Examples of cards that offer digital audio playback/record are Event's Darla, Gina, or Layla cards, Digital Audio Labs CardDeluxe or V8, Aardvark Direct Pro 24/96, EMagic Audiowerk8, etc, as well as "game cards" like the SBLive or Audigy, or Santa Cruz, or most anything that you'll see on the shelves of your typical computer store. The more professional cards may offer more than 2 discrete digital audio tracks. (But note that most programs, such as CakeWalk, offer "virtual digital audio tracks" in order to support more than 2 tracks of digital audio on cards with only 2 tracks, so extra digital audio tracks aren't necessary and aren't useful unless supported by software. They prove most useful when using software that can access multiple "devices" simultaneously such as Cakewalk Pro Audio. Then you can use a unique hardware audio "channel" for each sequencer track, and have Cakewalk not need to do any software mixing in realtime. In other words, Cakewalk doesn't need to implement virtual tracks because you have enough actual hardware tracks for all of your sequencer tracks. The hardware does the mixing. And that can help reduce any "artifacts" such as distortion upon playback). The Event, DAL, and Aardvark units are geared for serious semi-pro use (although all of the above non-gamer cards are good digital audio performers), whereas the game cards typically have lower signal-to-noise ratios (ie, produce more "hiss" upon recording) or poorer frequency response (ie, can roll off the lower and higher frequencies more).
There are some high-end ($$$) digital recording packages that feature both hardware and software (typically Windows 3.1/95/98/ME programs). Typically, these systems offer multiple digital audio tracks (usually discrete, with multiple inputs/outputs, digital I/O, SMPTE sync, etc) and features that make them full-fledged production studios comparable to using a standalone digital audio machine such as an ADAT. Such packages are CreamWare's TripleDat, DigiDesign's Session (and earlier Session 8), Spectral's Prisma, Studio Audio & Video's SADIE, Micro Technology Unlimited's Microsound Krystal, and Merging Technology's Pyramix. But for most people, I think that you'd be much better off using off-the-shelf software such as Cakewalk with a good digital audio card and MIDI interface.
Lately, many cards have been offering Digital I/O, meaning that the output of the card's DAC can be run directly to another digital recording medium such as a DAT recorder. In this way, you bypass the card's analog audio output stage (which isn't needed if you're going to create your master mix on a DAT deck anyway), and eliminate any extra noise from that section. Also, transferring digital audio between your computer and other devices that support digital I/O is quicker and results in bypassing the card's analog input stage which can also introduce noise. Most all of the serious audio cards have Digital I/O. Even some of the cheap cards, such as the SBLive or Audigy or Santa Cruz, have digital I/O, but sometimes they don't always support the DAT bit rate as well as the more professional cards do. For example, a cheap card like the Audigy may do something called "resampling" which can introduce distortion. On some cards, the digital I/O is an add-on board that you must buy. Some manufacturers, such as Zefiro, make relatively inexpensive, digital I/O only cards (ie, without the analog audio stage -- ie, you can't actually hear the tracks playing until you hook up some analog stage to them). This is useful if you already have another card that can play digital audio. You use that card just to monitor the audio tracks. But you use the Zefiro to record the tracks, and then play them during the final DAT mixdown. There is also a digital I/O only version of the CardD.
Most sound cards have both digital audio support, as well as MIDI support. The card may have a built-in hardware MIDI sound module which will play any MIDI data that a program sends to the card. This is akin to attaching one external MIDI sound module to a MIDI Interface card. Such a card actually can produce MIDI generated sound all by itself, unlike a MIDI Interface. So, the one card offers a "complete" audio/MIDI system capable of being used by itself to produce a musical project.
Most all built-in modules nowadays support the General MIDI standard. This means that the module is multi-timbral and can therefore play entire, complex MIDI arrangements. (See the article entitled What's Multitimbral? for more details). Some cards even have built-in hardware effects such as digital reverb, delay, and chorus to enhance the sounds on the card. (Ideally, you want these effects to also be applicable to the digital audio playback, as well as the built-in MIDI sound module. But on some cards, this may not be the case).
One advantage to having such a sound card as opposed to just a MIDI Interface, is that you can easily use the sound card to compose and score music without needing to run MIDI and audio cables to external MIDI sound modules and effects devices, and twiddling knobs on a mixer. You just run the stereo outputs of the card to a tape/DAT deck, and monitor with amp/speakers or headphones (since most cards have a headphone jack too). Many Windows sequencer programs such as CakeWalk offer a software "mixer" that can adjust the panning, volume, reverb level, etc, of each playing "instrument" via MIDI messages that are (hopefully) understood by the card's driver. So, you can setup a finished, stereo "mix" without moving from your computer.
NOTE: Many "game cards" have a poor MIDI implementation that doesn't support MIDI control over certain sound parameters. For example, maybe a better sound card lets you add vibrato to an instrument using MOD Wheel MIDI messages, whereas a cheap card won't do anything with that message.
Some cards also allow you to replace the waveforms used in the GM sound module. You load some WAVE file into RAM on the card itself, set loop points, and can play the wave back polyphonically as an "instrument". In other words, these cards are starting to be "MIDI samplers" (albeit without the bells and whistles of fancy VCAs, VCFs, multi-sampling, etc). Of course, you need a software program in order to choose which waves to load and how to play them back (ie, map them out to particular MIDI note numbers if supported, set looping, etc). Support software for such, which often is released with important features not yet implemented, makes this one of those features that you may want to wait for it to mature. (Such software also tends to be written for Windows 3.1/95/98/ME, but not Windows NT/2000/XP which are much stricter about allowing access to hardware by a program). Many cards offer the ability to install lots of RAM on the card itself which can translate to loading lots of waveforms and creating very rich-sounding patches or unusual custom patchsets which sound totally unlike the original patch set in ROM. Companies are releasing patchsets that are fairly extensive and nice-sounding, which you can further modify, such as Creative Labs' 8 MEG EMU Patchset. Of course, uploading that much data to the card does take a little while (less than a minute) but only has to be done once whenever you turn on your computer. If you do get a card with this feature, you'll want one that supports "downloadable soundfonts" (ie, DLS), preferably version 2.0 of the specification.
Most sound cards with MIDI support also contain a MIDI Interface (for external MIDI modules) too, because after all, the internal sound module is usually controlled by MIDI messages anyway, and it's not much more circuitry to allow the MIDI messages to be sent on out to external modules. On the other hand, most sound cards are designed more with MultiMedia use in mind rather than MIDI. For this reason, they don't have actual MIDI IN and OUT DIN jacks on the card itself. Instead, the cards have a joystick port into which you connect a special box that contains the actual MIDI IN and OUT DIN jacks. (The box should also contain an optoisolator on the MIDI input). Most companies refer to this box as a "MIDI Adapter Cable" (or sometimes a "MIDI Adapter", or even by the inaccurate designation of "MIDI Cable" which invites confusion with a simple MIDI cable that connects any two MIDI devices together). Since the Sound Blaster was the most common card with this type of "connect the MIDI Adapter to the joystick port" arrangement, most manufacturers have adopted the same pinout (15-pin) as the SB for their joystick ports. In this way, any MIDI Adapter Cable for the SB will work with any other Sound Card.
And although most MIDI Adapters are made to work with any SB compatible joystick port (also called a "gameport"), that doesn't mean that they're all alike. Some adapters have an actual box with surface-mounted female DIN jacks, including even a MIDI THRU jack. You then connect MIDI cords between the Adapter and your MIDI module. The box may even have its own joystick connector so that after you plug the adapter into the card's joystick port, you can then plug a joystick into the adapter's joystick connector. Thus, you don't have to disconnect the adapter every time that you want to use a joystick. (You can use the joystick at the same time that MIDI is going through the card since the joystick uses different pins than the MIDI in/out). An example of such an adapter is Mediator's JAM52/M. Other, cheaper adapters simply chop a MIDI cable in half, solder the bare ends to a connector that plugs into the card's joystick port, and you plug the dangling male DIN connectors directly into your MIDI module's MIDI jacks. Obviously such an arrangement isn't as versatile (nor dependable since cables tend to break) as the box with the surface-mounted jacks. An example of these cheaper adapters is Mediator's MG-2. Many other companies make these MIDI adapters.
There is one thing to know if you're looking for a sound card that offers MIDI support (in addition to digital audio). Many of the new cards don't have a hardware MIDI sound module on the card itself. Rather, the card uses a "Software Synth" for MIDI playback. To cut costs, the card may use the "Microsoft GS Wavetable SW Synth" that is included with the Windows operating system. (The "SW" stands for "Software"). What is a Software Synth? It is part of the card's (software) driver. A MIDI program such as Cakewalk sends the driver a MIDI message to play a C note with a Piano sound, for example, and the driver translates that one MIDI message into a stream of digital audio values which represent the sound of a piano playing a C note. The driver likewise translates other MIDI messages as it receives them. It uses its own set of digital audio waveforms for its built-in "patches" and mathematically mixes them into a stereo, digital audio "mixdown". This digital audio mixdown is played on the card's DAC (ie, digital audio section) immediately (ie, while the driver is doing the translation). In effect, a Software Synth translates MIDI to WAVE, in realtime (ie, while receiving the MIDI messages). This is an inefficient approach toward MIDI playback that is much more CPU intensive for your computer (than use of a real hardware MIDI sound module built into the card). And since the software synth typically needs to load its "soundfont" of waveforms into your computer's system RAM, it eats up your RAM. You'll likely find that, if you need to do any work with MIDI, you'll have to supplement such a sound card with a MIDI interface. One telltale sign that a card's built-in MIDI support is limited to only a Software Synth is if it doesn't support MIDI recording (but rather, only playback).
There are many cards on the market that support both digital audio and MIDI. A few of them are the Creative Labs SBLive (older) or Audigy (newer), Turtle Beach Santa Cruz (sometimes branded as a "Videologic SoundFury"), Acoustic Edge, Lynx Studio Technology LynxONE, the Terratec DMX 6fire LT, etc.
Some computers have audio chips directly soldered onto the motherboard, and therefore don't need a separate sound card. In particular, notebook computers usually have motherboard audio because ISA/PCI cards cannot be put into a notebook, and notebooks are cramped for space.
These chips typically offer basic, digital audio recording/playback of the quality of a typical "game card". Besides having a DAC and ADC so that you can record and play digital audio (and play game sound effects and voice), these chips also tend to have at least support for a Software Synth for MIDI playback. A good chip should even support MIDI IN and OUT through a MIDI Adapter attached to a joystick port. But in notebooks without a joystick port, you typically have to get an external MIDI Interface for MIDI support beyond a Software Synth.
I've never seen motherboard audio using a chip that offers much better specs than your typical game card. So, for people looking for higher quality (ie, musicians), motherboard audio is usually to be avoided.
Personally, I don't like motherboard audio because you can't upgrade it easily. If you want to buy and install a new audio card, you can't remove that chip. Therefore you have to setup your new card such that it doesn't conflict with the settings of that onboard chip. Typically, the computer's BIOS has settings to disable the onboard chip, but besides being a waste (ie, at least you can sell an old audio card when you buy a new one, or reuse it in another computer -- not so with these embedded chips), I've discovered that PnP issues and other BIOS bugs can result in problems. Sometimes you can't get that onboard chip to stop using valuable resources (ie, IRQ lines) that you want for your new card, or otherwise can't make it completely "disappear". It lingers like body odor, causing you grief.
I think that an audio card is a better deal than motherboard audio, unless you're absolutely sure that you want a typical game card quality and don't ever want to upgrade for the lifetime of that motherboard. An exception to this is a notebook computer since you can't install a separate ISA or PCI soundcard, and notebooks aren't noted for their upgradability anyway.
As mentioned, that depends upon what you want to do with audio/MIDI, and what kind of performance you require. Let's examine a few test cases:
A very good choice are the USB port devices with multiple MIDI busses and SMPTE. See the listing of USB interfaces. They offer lots of flexibility and can handle a large, professional MIDI system that needs to sync to other equipment well.
Note that some external MIDI modules also have a connector allowing you to attach the device directly to the computer's serial (COM) port, and more recently, the USB port. Examples are most of Roland's Sound Canvas and JV lines. These external units have MIDI IN and OUT jacks to which you can attach further units. So, in effect, they're like serial port MIDI Interfaces with a built-in GM module. See serial (COM) port modules.
If you want top performance, you could buy 2 items; an audio card that is made especially for clean digital audio such as the DAL CardD or V8, Aardvark Direct Pro 24/96, the Event Gina, Layla, or Darla, or other high-end digital audio cards, and a MIDI Interface as mentioned in the preceding answer. Configure your software (and Windows) to use the former for digital audio and the latter for MIDI.
Or, you can buy a sound card that has decent digital audio (although not quite as good as the above digital audio cards) plus at least a built-in MIDI interface for both output and input, such as the Turtle Beach Santa Cruz. This is actually a fairly good all-around card. Even the SB Audigy isn't bad, except for if you want to use its digital I/O with a DAT machine.
Stay away from the no-name sound cards as typically sold in large computer retail chains. They typically use the sort of chip that you'd find used for motherboard audio.
If you're a game player, it's mostly all about drivers, specifically DirectX support. You definitely want a card that supports DirectSound, and supports it well. If you want to play it safe, buy a Creative Labs Audigy. If you do, you probably won't be left high and dry without any driver support. Don't buy "Joe's Sound Card" unless there's a web site where you can download driver updates for it, or you're sure it comes with the DirectSound drivers (for your version of the Windows operating system -- XP needs an NT/2000/XP driver) you need in the box. You also want to pay attention to the details of the driver's DirectSound support -- whether it supports "3-D sound modeling" and various effects algorithms, and especially how well it supports realtime mixing of "channels" of audio.
Whether a card uses a Software Synth for MIDI playback is pretty much irrelevant to you, since most games nowadays do not use MIDI at all. (For game music, they use CD audio tracks, which is digital audio. And of course, sound effects and voice are digital audio too).
What may be more important to you is whether the card supports "surround sound" (ie, has 4 independent speaker outputs for "front" and "back" speakers).
Now you've got a problem. You need a card that is designed for both gamers and musicians, and these are very different markets. You'll likely have to make compromises (ie, maybe give up surround sound for gaming, or accept worse S/N ratios and frequency response for music work).
Since you can't put ISA/PCI cards into notebooks, a lot of the aforementioned cards are not useful here. As mentioned, a USB port MIDI Interface is one solution for MIDI recording/playback. Of course, you then need an external MIDI module. See the listing of USB interfaces.
External MIDI units that directly attach to a serial (COM) port or USB port are quite useful here, as they eliminate the extra box (and are hence more portable).
If you want to improve upon the digital audio specs of the motherboard audio on your notebook, you may want to look into the Roland Audio Canvas UA-100, or if you want both digital audio and MIDI, check out some of the new USB Edirol models that support both digital audio recording/playback and MIDI.
Do not buy anything that doesn't specifically come with a Windows XP driver, or at least has a Windows NT or Windows 2000 driver for it (which should work). Windows 95, 98, SE, ME, or Windows 3.1 drivers will not work with Windows XP.