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.)

Previously:

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.)

  • kokorozashi

    DirectX is actually just ONE of Microsoft's audio API standards. Another is MME. Each API is designed to provide a slightly different kind of service. MME is mostly for old consumer-oriented stereo applications. DirectX is mostly for games. Certainly DirectX is better than MME, but the heart of the matter is something called DirectKS. DirectKS is the lowest-level Microsoft-sanctioned access you can get to an audio driver, and all other Microsoft APIs are based on DirectKS.

    The only app I know of which uses DirectKS is Sonar. (Sonar calls it WDM, though that name encompasses a much broader set of device drivers in general.) Sonar also supports ASIO. DirectKS may or may not be better than ASIO, depending on the driver in question.

  • http://www.odra1300.org/ Mzimu

    You forgot to mention Asio4All – it solves many problems with cheap, built-in hardware.

  • Richard Lawler

    Why is it always a comparison with how well the Mac supposedly works? Obviously your experiences differ from mine. (Can you say "spinning beach ball"?) But it's irrelavant. Are people who aren't even going to bother to get an audio interface with an ASIO driver going to switch platforms?

    I must also respectfully point out that this Mac platform with which you claim to have never had any problems is obsolete. At this point the Intel-Mac platform is a work in progress. Please report back in a year when the drivers, plug-ins, applications and support utilities are ready.

  • http://www.createdigitalmusic.com Peter Kirn

    Kokorazashi, thanks — WDM is actually supported in other software, including Ableton Live, so I should have mentioned it. So often you wind up using ASIO instead because it's a common denominator, but yes, WDM is supported in Cakewalk and Ableton products which is quite significant, and it often performs on par with ASIO . . . whatever its equivalent in Vista should be even more so.

    Mzimu: thanks for the reminder on ASIO4ALL!

  • http://www.createdigitalmusic.com Peter Kirn

    Richard, thanks, but I'm afraid I can't agree with you on your take on Mac OS. I may not have made my point clearly, either: I feel like, let's share what fixes annoyances on Windows, because I (and many others) have to use it. Along the way, I'm also more than happy to point out easily-reproduced problems with Windows, because I think those ought to get fixed (and can be fixed) by Microsoft and by better driver support. And it's hard not to make a comparison when, relative to one another, Macs are objectively better at handling audio drivers than Windows PCs. I don't want it to *stay* that way, because I'm using Windows and Mac and Linux alongside one another, and I want all of them to work better!

    I'm not sure what's causing your spinning beach ball syndrome on the Mac — I expect you are having a different experience than I am. But my experience has been that on a properly optimized modern Mac you can get excellent performance and reliability out of the box. I have three Macs here in my office at the moment, so I've got a decent lab running. Now, I think Windows, Mac, and Linux are *all* too complicated for their own good a lot of the time, and I've seen all three inexplicably bog down in the way you're describing the Mac . . . I just try to figure out how to fix all of them when that happens.

    And the "Mac platform" is not "obsolete" just because Apple is switching CPU vendors. Nothing could be further from the truth. Core Audio runs just fine on an Intel Mac, and Mac OS X is effectively unchanged. NeXT, of course, was running its OS on Intel back when Democrats controlled the US Congress. (In what feels the 16th Century, in other words.)

    In fact, I've tested MOTU, M-Audio, and Edirol drivers on the Core Duo I have here, running Ableton Live and Apple Logic Pro. It's *exactly* the same experience you get on a PowerPC. Same OS, same audio infrastructure, and the same user experience.

    Windows, by contrast, is absolutely a work in progress as far as Vista. Frankly, I HOPE it's a work in progress! I hope I'm not dealing with all the same problems when Vista ships in 2007. I think audio users have every right to be angry if Microsoft left that behind, given that they're running nonstop "make music with Windows" ads. I'm willing to get a few drivers turned upside down if it means Windows finally works the way it should. XP was a HUGE leap forward from past operating systems, even though I'm complaining here, but that illustrates the point — XP changed a lot in a way that benefitted pro audio people, and I hope future versions of Windows will, too. I'm not terribly confident at the moment.

  • kokorozashi

    I am generally a Mac bigot, but I have to admit MacIntel will feel like a work in progress to me until Propellerheads ships a native build of Reason. :-)

    As far as Live goes, I have the demo of 5.2 installed on my Windows machine, and it seems to offer two choices at the API level, one for ASIO and one for (and I frankly don't understand this) both MME and DirectX (which it sometimes calls DX). I don’t see any DirectKS (AKA WDM) option.

  • kokorozashi

    Also, it occurs to me that the Mac has a user experience advantage by simple virtue of the fact that it has a single audio API and thus there is no need for the user to ever see its name much less choose it. ASIO may be a nice technology, but the fact that it exists in at all should embarrass Microsoft deeply. (I can’t blame Microsoft for having more than one of its own API, because that’s a matter of backward compatibility as far as I can tell.)

  • http://www.createdigitalmusic.com Peter Kirn

    Yipes, you're right; I'm wrong. I really imagined I had seen the WDM choice in Live. I feel certain I've seen it *somewhere* in non-Cakewalk software, but maybe I'm just imagining things. I've never seen it called DirectKS in an end-user interface.

    Backwards-compatibility is great, so no fault there, but I'd like to see a standard Windows audio (and MIDI) API that:

    1. Allows interconnections between applications

    2. Allows multiple applications to easily share audio devices, and use more than one audio device at once

    3. Delivers low-latency performance (consistently below 10 ms)

    4. Remembers devices, even if they're disconnected, then reconnected to a different USB port (I shouldn't even have to mention this one, but thanks to Windows, I do)

    5. Doesn't have a pre-defined limit for the number of device drivers you can install

    I don't think those are unreasonable expectations of a modern OS. Currently, I don't find even ASIO works consistently in all cases, and it certainly lacks flexibility on some of these points. The state of Windows audio now is very much like the state of Mac audio pre-OS X and Linux audio pre-ALSA.

    It's funny, though, because you have to explain to anyone who doesn't know the Mac that you just find a device that says it supports the Mac, run a single installer, and (often without restarting), you're done. Class-compliance even works a lot of the time without futzing. This isn't something that happened automatically with Core Audio; it's something that Apple worked on over time. I certainly had issues with 10.0, 10.1, and 10.2. (I don't see any new issues in Intel other than waiting for software support to be finished, and even that's happening really fast. Probably faster than some of us can even save up the $$ for a new Intel machine.)

    Maybe now we could see improvements from Microsoft?

  • kokorozashi

    Let's hope. Most of what I've seen promoted has been about consumers and not "professionals" (which includes anyone who cares about audio production even if it's not their day job). And a colleague who attended a recent developer workshop at Microsoft about Vista audio wasn't very impressed. That said, it seems reasonable to hope you'll get at least some of your wishes. My primary concern at this point is that Vista will continue to slip and get cut down. I think the smartest teams at Microsoft right now are making sure their projects also run on XP "just in case," and audio is not something which lends itself to that kind of bet-hedging.

  • Adrian

    I gotta tell you Peter, CoreAudio is the one thing that gets me envious of the OSX platform. It just straight works better than what the standard Windows drivers do. But then again, Windows gets like 98% of the cool new audio plug-ins and software, many of which are free, so that helps ;-)

    ATA

  • http://fruity--loops.blogspot.com/ fruity loops

    Definatly check out Asio4All, it's helped my reduce latency while keeping high quality sound. I use it with a Soundblaster Audigy NX 2, which doesn't support ASIO out of the box, and it works great. I really enjoy this site and find it very useful. Check out my Fruity Loops site if you're using or thinking about getting FL Studio. Fruity Loops Resource

  • mrthraz

    i must say that asio4all in combination with virtual audio cable has solved all of my soundcard problems. i really could not spend alot of money on my soundcard (all i have is a turtlebeach santa cruz. a good card that doesnt support asio) but with those two apps, + flstudio 6 and audition 2.0, i find i don't need much else.

    i got ahold of the sampson c01u usb condenser mic, the ion usb turntable and the creative pro dikeys pc-midi usb.

    all the rest of my mixers, preamps, cords cables cards and plugs can take a fling ebay leap.

    now if only someone would make a nice pair of usb desktop audio monitors.

  • rolfen

    Thanks for nothing