When I started doing pro audio on my PC, I became obsessed with the idea of having as pure a digital stream from the PC to the speakers as possible. I bought an outboard USB amplifier—a Yamaha AP-U70—which appears to Windows as a standard USB audio device and supports up to 24-bit, 96kHz audio.
Since then, USB audio has become less of a specialty item; I now see USB-audio dongles that let you send a bitstream from a notebook's USB port to an outboard amplifier, among other things.
But one problem consistently reported with USB audio is sputtering or glitching—audio playback riddled with clicks and pops that are signs of the bitstream being interrupted. This problem can even appear in Windows Vista, where there are many kernel-level enhancements to ensure quality of service for timing-criticial applications such as audio.
There are two basic reasons why USB audio can behave like this. Both are hardware-related.
- The PCI latency timer setting in BIOS is too high. However, not all BIOSes have this setting exposed as a feature. On my computer, which uses a Tyan-brand motherboard with an AMI BIOS, the PCI latency timer can be set as low as 32 clock cycles. Too high a latency timer means the USB controller doesn't have adequate time to send signals across the PCI bus, so the sound comes out broken up.
- The USB audio device is plugged into a USB port which other devices share, and these devices are making aggressive use of the USB bus.
One way to find out if you're sharing the audio with other devices is to open the Device Manager, view resources by connection and drill down for the audio device among the USB host controllers enumerated there. If it's on a hub or controller with other devices, try unplugging it and moving it to another bus. Note: Plugging an audio device into an external hub may cause this problem.
On my computer, I got the best results by plugging the audio into a USB 1.1 bus that had no other devices attached to it. The audio device was itself 1.1, so I wasn't devoting a 2.0 bus to something that wouldn't even make full use of it.
To be certain that the devices were re-enumerating correctly, I deleted all references to USB devices and controllers from the system while in Safe Mode, rebooted and let the system re-detect everything, then added the audio after a second reboot.
About the author: Serdar Yegulalp is editor of the Windows Insight, (formerly the Windows Power Users Newsletter), a blog site devoted to hints, tips, tricks and news for users and administrators of Windows NT, Windows 2000, Windows XP, Windows Server 2003 and Vista. He has more than 12 years of Windows experience under his belt, and contributes regularly to SearchWinComputing.com and SearchSQLServer.com.
More information on this topic: