I'm not talking about the mere playback of MP3 files or anything else so mundane. I'm talking about making music under Windows XP. Given the current state of musical technology, that's a pretty sophisticated topic. I'm only now getting back into music composition and production after quite a hiatus, and I'm learning more about current hardware/software as I go. The lessons I've learned are included herein for those who are interested.
Mark of the Unicorn 828 mkII
Presonus Firestation
Cubase
General Driver Issues
In the plus column, you've got an amazingly functional unit for the price. In the minus column, you've got absolutely terrible drivers and a company whose idea of good technical support rests on three pillars: (1) blaming problems on anything but MotU hardware/software, (2) being a complete jackass to the customer, and (3) ignoring the customer altogether if he simply won't go away. For more details, feel free to read of my own experience with the MotU 828 mkII. You may also want to read why I switched to a Presonus Firestation.
Assuming that you're sticking with the MotU unit, however, there are a few problems you may face, first among which is that of audio distortion. The distortion tends to manifest itself in different ways, but the result is ultimately some awful sort of digital crackling or buzzing. If your problem is relatively intermittent (i.e., you're hearing occasional clicks, pops, and other such artifacts), then there is really very little you can do.
You might find that closing down any software you have running in the background will help. You might also find that using a utility like PowerStrip to adjust your PCI Latency—I've written a separate essay on PCI Latency—for your firewire interface might help. But at the end of the day, the occasional, intermittent distortion or artifacts are going to be pretty hard to counter. The key is to try to give your 828 the best firewire interface possible with as little drag on the CPU in the background. Incidentally, MotU technical support suggests that the Keyspan Firewire card will give the best possible results, but I saw the same problems with that card as I did with three other firewire interfaces.
On the other hand, if the distortion you're seeing is a constant crackling or buzzing in the audio, then you might try something that reliably worked around that problem for me. That is, if I simply fiddled around with the sample rate a few times, I could always make the distortion go away. The best combination of settings seemed to be to toggle between the 48 KHz. and 96 KHz. sampling rates a few times relatively quickly. Once I got the audio cleaned up at 48 KHz., I could then reliably switch to 96 KHz. and it would be similarly distortion-free. The distortion could be caused quite reliably simply by switching directly from 44.1 KHz. to 96 KHz. or from 48 KHz. to 88.2 KHz., but MotU wasn't interested in hearing about that.
Unfortunately, switching the sample rate back and forth might be difficult if you're also suffering from the CPU-utilization problem (as I naturally was, given my luck). You'll know you have this problem if your computer becomes almost completely unresponsive every time you open the MotU FW Audio Console or change the 828's settings using any other means. You can confirm this by pressing Ctrl+Alt+Delete or right clicking on the task bar to open the Task Manager; if you have the problem, its performance tab will show you that your CPU is pegged at 100% utilization. These episodes can last from as little as twelve seconds to eighty-six seconds (or longer), depending upon which changes you make and which application or utility you're using.
MotU technical support claims that this is not the fault of the 828 or its drivers; they claim that it is due to Windows XP flushing its audio drivers. You will find that the problem doesn't occur, however, with any other ASIO driver. It also doesn't happen with other devices (e.g., the Presonus Firestation). It happens only when using the MotU 828 mkII with the MotU ASIO firewire driver. But hey, it's probably just Windows XP anyway, right? If you get the feeling I'm disgusted with MotU technical support, you're on the right track.
At any rate, there is only one option that I found to help you through this problem, and that is to make sure that the "Enable full Wave support for legacy (MME) software. (Less efficient)" box is not checked in the MotU FW Audio Console. If that box is checked, then the wave driver will also need to be initialized whenever you change device settings, which really slows down the process quite a bit. When using Steinberg's Cubase SX to change sample rates, for example, I found that my CPU usage remained pegged at 100% for no less than eighty-six seconds with the box checked, but a "mere" twelve to twenty seconds without. That's still not very good, of course, but it's far more usable.
The Presonus Firestation is a very powerful device with very good audio quality. It is also a cast-iron bitch to figure out how to use and setup correctly without the proper assistance. Seriously, whereas most other firewire-based audio I/O interfaces can simply be plugged in and used, this baby requires that you go through a fairly complicated setup procedure. This process can presumably be made easier if you read the Windows XP thorough setup guide that Presonus provides. Since I didn't notice that guide on their web site, for whatever reason, I'm going to list the steps I went through with the help of Butch in their technical support department. Hopefully, others will find them similarly useful.
At this point, you should be good to go. You should now be all set to fire up whatever ASIO-capable software you have and use the Firestation. If not, I suggest you give Presonus technical support a call. They provide wonderful support in my experience, and they'll probably be able to get your system configured properly in pretty short order.
The one remaining problem I want to discuss is audio distortion. In my case, once I finished the above procedure I launched Cubase SX v1.06, which promptly screwed things up somehow. I say "somehow" because I'm not sure what it did. What I know for sure is that the audio I was getting doesn't even deserve to be called "audio". It certainly wasn't any kind of musical sound; it was more like the clippity-clop that horses always make in movies. When I looked at the front panel of my Firestation, I found that the "mLAN" light was again flashing, though in a far less regular fashion. The solution for this, and any other loss-of-sync or distortion problem I've seen to date, is to take the following steps:
You should now be able to go back to whatever application was causing you trouble and use it just fine. I don't know what the problems are, but I know that fussing about with the sample rate seems to fix them. Maybe Presonus will update their drivers at some point. We'll see.
Cubase has a number of
Something you need to understand about contemporary musical hardware/software is that it (sadly) largely remains an anathema to Windows. To explain why, I have to give a little history. When Windows was designed, it was designed for PCs. This wasn't such a bad thing. Unfortunately, it was designed not as an operating system (OS) but as a graphical shell to run on top of DOS. This was a bad thing, if for no reason other than that DOS sucked. If you think DOS was a real OS, then you might as well think Velveeta is real cheese.
Worse, as Windows "matured" it was taken in the direction of being an OS by people who clearly had no clue how to design or build an OS. This is why the whole "New Technology" (i.e., Windows NT) project was necessary; i.e., Windows was such a hunk of junk internally that it made better sense to start over and build a real OS, rather than keep working with the garbage heap of code that was Windows. Lest you think I'm being overly harsh, use some flavor of Unix for a while. Yes, most are not as graphically pretty or easy to use, but all variants of Unix since the 1970s have been technically superior to all Microsoft OSes until Windows NT—and some remain superior to Windows XP today in several respects.
Once Windows NT was becoming usable, Microsoft started trying to do The Right Thing™. That is, they started trying to merge the two code bases so that a hybrid product might be born, a product that would enjoy both the broad compatibility of Win9x/WinME with the power and stability of WinNT/2k. Eventually they succeeded, and Windows XP was born. Windows XP is the first real OS Microsoft has made, in my view, insofar as it's the first OS that actually works with most hardware/software while simultaneously being relatively solid internally.
Unfortunately, along the way Microsoft made some mistakes, one of which was their thrusting the Windows Driver Model (WDM) upon the world. Anyone who ran WinME knows exactly how good an idea that was. On paper it looked pretty good—to Microsoft at least. The idea was that Microsoft would publish a WDM specification, which would allow developers to write a single driver that would work on all future versions of Windows. What actually happened was that the change in specifications resulted in three things:
Personally, I find (1) terribly irritating. I can't use my Creative Labs Audigy 2 Platinum sound card with Win95 or Win98, for example. I have to run at least Windows 98 Second Edition (Win98SE) or WinME if I want the drivers to work. This wouldn't be such a bad thing, were it not for the fact that Win98SE and WinME are both far less stable than the original Win98. Worse, as anyone who actually used WinME knows, (2) and (3) resulted in horribly buggy drivers, which made the already unstable WinME positively awful.
So what does this have to do with music, dear reader? I'll tell you. When crafting the WDM specification, Microsoft did its typical half-assed job and completely neglected to do anything about latency. This has always been an area wherein Windows shows just how poorly it was designed from day one. At one point in the 1990s, I used to write software under Unix and various other OSes to do data acquisition. When I used Unix, DOS, etc., I could write interrupt handlers with guaranteed latencies as low as six microseconds on some hardware. What that meant was that a maximum of six millionths of a second (at most) would pass between the time something happened and my interrupt handlers could do something about it.
In the early days of 16-bit Windows, you were lucky if you could guarantee latencies of 200+ milliseconds. In other words, latencies were worse by a factor of roughly 10,000 compared to Unix, DOS, etc. This is one reason many scientific and technical firms didn't embrace Windows at all in the early days. In a typical demonstration of chutzpah, Microsoft made a big deal out of it when they first introduced "Multimedia Timers" into Windows 95. Those guaranteed software developers a maximum latency of one millisecond. Gee, that's only a minimum of fifty times slower than what other OSes had been providing for over two decades. Bravo, Microsoft.
To cut to the chase, latencies in Windows still suck even today. The WDM model was never designed to handle the kind of latencies that musicians (and others) need. People are pretty perceptive of such things; if it takes more than a few milliseconds from the time they press a key on a keyboard to the time they hear a sound, it's greatly disconcerting. Worse, it makes trying to record multiple tracks of MIDI or audio data a ridiculous exercise in frustration.
Thus, the Audio Stream Input/Output (ASIO) driver model was born. Because Microsoft had demonstrated for over a decade that they pretty much couldn't code their way out of a wet paper sack, Steinberg came up with a driver specification that would work for musicians. Fortunately, for the music-making community, that specification caught on in a big way. ASIO drivers are designed from the outset to provide low-latency processing for audio hardware and software. Thus, it is very important that you make sure any device you're considering has ASIO drivers before you purchase it, and you should always use ASIO and only ASIO drivers whenever possible. Trust me, you'll end up wanting to bang your head against the wall should you ever find yourself relying on WDM drivers. Going from ASIO to WDM is like trading in a Ferrari for a skateboard.
Unfortunately, there is a tradeoff to be made. The best (i.e., lowest) latencies are obtained through ASIO at the cost of increasing the load on the system CPU. This can be ameliorated by using larger memory buffers, but larger buffers bring more latency into the picture. In short, as the user minimizes buffer sizes to diminish latency, he increases the load on the CPU. That's just the way it is. Whatever drivers you're using, I suggest you start with the default values. If they give acceptable latency, then you're all set. If not, try diminishing the buffer size gradually. The point of this exercise is to find a buffer size that (1) gives acceptable latency, while (2) not resulting in any digital distortion or other artifacts (e.g., clicks and pops) because the CPU can't keep up.
In the event that you can't find a good balance, you might think about upgrading your system or trying different hardware. These days, you should really have a CPU running at 1.4 GHz. or better to do music. If your system is short on memory that too can pose a problem, for frequent hard drive accesses really slow things down. With decent hardware, enough memory, etc., it should be possible to strike a good balance. Don't be afraid to try different values, and don't be afraid to pester technical support either. In my experience, they're almost never helpful, but every now and then you might find a vendor that does a good job.