USB vs CardBus (vs FW)
I wanted to share this observation. A while ago a user at EM411 asked about audio latency problems, and all of the early advice was "Get a proper soundcard". Annoying advice, I know, but why is it true?:::
Consider that there are still people out there who use the onboard audio on their laptops, asio4all makes this possible. Built-in audio is already available, you don't need to buy anything, works out of the box, etc etc. Plus, built-in audio on the Mac is noise-free and quite decent.. So why not?
There are two reasons not to use built-in audio.
- 1] It's noisy. It's stuck on the motherboard with no shielding, so any noise from the computer makes it to the soundcard. Even if it's decent, it's the soundcard all other applications play through it by default (incoming mail sound w/ your music, anyone?)
- 2] It's not stable. It was not designed to. They wanted it to be cheap. You can't rely on it.
So the user in question opted for a USB soundcard. Latency went down to 2.2ms (fairly unbelievable) and he was very happy, until his next comment along the lines of "crap, it didn't work. froze my machine in the end".
Could I reiterate my point *against* buying USB audio interfaces, please (you'll find out why as you read)? There is Firewire. But there's something even better. Older PCs (Macs don't apply anymore) have a wonderful slot that often goes unused. That's the CardBus slot. An extremely decent soundcard is available in this format, that's the Echo Indigo interface. (I do not endorse Echo or their products in any way, but the Indigo is so great I cannot not mention it! Why do you think they go so high on Ebay??) Why would anyone who has an available PCMCIA slot go for USB instead of PCMCIA is completely, utterly, totally, beyond me.
My point: "CardBus are [...] 32-bit PCMCIA devices, introduced in 1995 and present in laptops from late 1997 onward. CardBus is effectively a 32-bit, 33 MHz PCI bus in the PC Card form factor. CardBus includes bus mastering, which allows a controller on the bus to talk to other devices or memory without going through the CPU. ".
Did you read? One of the most sensible specs on the PC, the PCI bus, made it to laptops, and you still go about picking up USB cards and expect them to be more stable than CardBus cards. Or as stable as Firewire! I just can't get my head round this.
Wait! I hear you. They're throwing out the CardBus interface entirely, and putting ExpressCard in place. ExpressCard = PCI Express but I am yet to find an audio interface in this format. So? Most likely there's Firewire on your computer, so get this: "USB was originally seen as a complement to FireWire [...]. USB uses a 'speak-when-spoken-to' protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions. [...] FireWire 400 generally has a significantly higher throughput than USB 2.0 Hi-Speed." and so on.
Read my lips. It's not the maximum speed of the interface that matters. It is how the communication is implemented. USB communication is slow, and devices can't do much on their own. Firewire was designed for realtime applications, such as audio and video. USB was designed for storage, and fun stuff (digital cameras, card readers and so on). PCI is a synchronous bus, means fast, and built to last. That's why PCI, with its measly 133Mbit/sec feels so good. (Did you know you only need 18Mbit/sec for 8 channel 96khz 24bit audio?). Even a vanilla M-Audio 2496 feels rock-solid on a desktop. Hence why an Indigo feels rock-solid on a laptop. (I own both)
Conclusion: If you are a mobile, budget-conscious user, like myself, trust me, you don't want a soundcard that hangs out of the computer. USB, Firewire, whatever. If you have PC-Card/CardBus/PCMCIA (you know, *that* slot you never put anything in), get an audio interface that sits inside. If not, go for FireWire. The only reason I am not giving away my USB Transit is I'm not into bad favours.