Ever suffered garbled audio on Windows and couldn’t figure out why? Driver settings were likely to blame. Audio on the Mac is now essentially plug and play; I don’t remember the last time I even touched an audio driver setting other than to switch from one device to another (switching between devices also works better on the Mac, I might add). Not so on Windows: unfortunately, drivers often don’t work right the first time. To some of you, the solution is obvious, but in case it’s not, here’s what to do:

First, choose which form of driver you’re using. Anything labeled “Multimedia” or “MME” should be avoided if possible; these are essentially legacy drivers based on early versions of Windows, and they don’t work very well with music apps. Use them as a last resort. You’ll want drivers labeled ASIO (the third-party standard from Steinberg supported by most audio hardware), DirectX (Microsoft’s own, more recent driver standard), or WDM (also from Microsoft and usually your best bet other than ASIO).

Theoretically, DirectX drivers (sometimes labeled “DirectInput”) should work with music software, except . . . well, suffice to say, they often don’t. “Not working” we can define as either resulting in high latency (a long delay between when you play a note on your keyboard and when your soft synth responds, for instance), or garbled audio caused by your system failing to keep up with demand for resources. Generally, you should try ASIO drivers first, then WDM (if available), then DirectX.

Another “gotcha” is that class-compliant audio, in which the OS natively supports a USB audio device, for example, often results in degraded system performance versus using your manufacturer’s drivers. (Edirol, for instance, offers an override switch on some of their hardware that forces Windows to use their lower-latency drivers.)

Because of this driver issue, it’s often not advisable to use anything other than audio equipment specifically meant for high-performance audio or pro use. That could be as cheap as something like Edirol’s UA-1EX, but using the built-in soundcard in your computer is probably not a good idea.

The last setting to check, particularly if you’re relying on DirectX or, worse yet, MME, is the latency setting. Most audio software will give you a manual override option for “output latency.” If latency is set too low, you’ll get a stuttering or distorted audio effect, so you’ll want to increase this value until you can get reliable audio output. I find that I often have to set this above 50 or 60 ms to get DirectX drivers to work. (Generally, you will not need to adjust output latency with ASIO.)

Most mystifying to me, though, is that I’ve watched DirectX drivers spontaneously “forget” their audio settings. For instance, I just watched a DirectX driver reset its latency time to 7 ms; I had to reset it to 50 ms to get it to function properly. Then there’s the problem of multiple pieces of software trying to access the same device at once, which, if it works at all, can cause performance issues.

The good news is, work through these steps in your application’s audio setup, and you should be able to get sound out without too much trouble. Once again, that’s (1) try ASIO, (2) switch to WDM or DirectX if ASIO doesn’t work, (3) switch to MME if DirectX or WDM doesn’t work, and (4) increase output latency if you have to in order to stop stuttering or distortion.

I don’t like getting into OS wars, but the simple truth is, Mac audio performance, reliability, and ease of setup are objectively better, across the board. The Mac doesn’t have quite as broad a selection of audio hardware, particularly in the PCI card department, but Mac users also have far fewer worries when it comes to audio setup and configuration, and Core Audio allows your internal hardware to easily stand in for your pro hardware, which is especially nice if you want to work on the road.

All of this is going to get better in Windows Vista, right? The answer to that question is surprisingly hard to come by. Microsoft’s internal audio working should be a big improvement over XP, particularly in the area of latency, but I’ve also heard at least some developers griping that Microsoft didn’t do what Apple did and create a single, do-it-all audio driver format. For more details, stay tuned as we get closer to Vista’s release, as this is an area that needs more investigation.

It’s also worth looking at your documentation; some software, including Cakewalk’s SONAR, will even go to the trouble of attempting to configure your drivers for you. (And that much isn’t just Windows-specific; Apple Logic has a similar feature.)

You can chat about operating systems, drivers, and troubleshooting on CDM’s forums. Let us know if you’ve been having troubles, and we’ll try to fix them.

Note: I neglected to mention ASIO4ALL, which can fill in for many devices (like built-in hardware) that lack ASIO drivers. ASIO remains the best solution for working with a variety of music apps. I personally prefer to plug in something compact like a UA-1EX or Echo Audio PCMCIA card because then you also get a big leap forward in audio fidelity. And no, I didn’t compare to Linux here, though Linux works quite nicely — if you can find drivers for your hardware, which unfortunately isn’t always easy. (That’s a separate article because there aren’t the same parallels in architecture one might draw between Mac and Windows, but I do hope that eventually more mainstream hardware vendors will write audio drivers for Linux in the way companies like NVidia have managed to create commercial drivers for their products.)


The Windows MIDI/Audio Driver Bug and How to Fix It

(Does CDM need a “Annoying Windows Bug of the Week” feature? Sound off in comments.)