An appropriate sub-title for this article might be "A Personal Opinion on Computer Audio", because I will be stating my personal experiences with building music servers. The basic endeavor in Computer Audio (CA) is all about eliminating noise, and keeping the digital signal in time. By music server I mean computers that are built to solely play music files, and do little or nothing else. The bottom line is to eliminate digital noise wherever possible, and to stabilize digital timing wherever possible. We will talk about where all the noise comes from, and what it means to maintain accurate timing within the digital realm.
Let me first specify a few baseline parameters in our computer setup. We are talking about using a computer with any operating system (Windows, Mac OS or Linux), some direct bit-perfect streaming protocol such as WASAPI, ASIO or Kernel Streaming, and we are sending the music data (primarily two-channel) from the computer to the DAC via the USB protocol. This computer is dedicated to audio use and audio use only.
If you're of the belief that bits are bits, and computers are already good at handling ones and zeros, so what's the big deal; then maybe this article isn't for you. But nonetheless, I encourage you to continue reading. It's well established that computers are at the very core of our modern existence. They work marvelously and accurately for all of the tasks we expect them to perform in our daily lives. Except when it comes to hi-fi, audiophile-grade serving of music files. As audiophiles, we need more than your average computer, way more.
The common personal computer is inherently a very noisy beast. This doesn't matter when we are using it to surf the Web, or crunch numbers in a spread sheet. The modern computer, desktop or laptop, or mobile phone for that matter, is a highly accurate calculating machine. But it still is extremely noisy. It's just that the hardware and software works quite well above that noise threshold, so the job gets done. However, and you knew this was coming, that noise adversely affects the quality of music file playback.
Now to be clear, I'm not considering MP3 files in this article. I firmly believe that they have over-extended their useful life in today's world. The MP3 file format, with its lossy compression scheme, was created over 25 years ago (MPEG Audio Layer3 was standardized in 1992) when Internet download speeds were abysmally slow and storage space was meager. We don't live in that time period any longer. So don't use MP3 files for anything except when you crave convenience, and don't care about quality. The type of CA files I am talking about are either stored with lossless compression algorithms or are not compressed at all. I know that many people will extol the benefits of one format over another, but I believe that many are just fine: FLAC, ALAC, APE, WAV, AIFF, and DSD, to name some of the most common.
Let's take a look at where the computer noise is originating, and how it influences music playback. The bulk of computer noise is generated by Integrated Circuit (IC) high-speed gate switching, switch mode power supply (SMPS) switching, and electric motor armature noise. These devices all eventually go to ground, and it's this noise passing to ground that lets noise infiltrate other components in the computer. In addition, this high frequency digital noise merges with the power supply feeding all the devices in the computer. While most of this noise is in the Megahertz range, this is also where we find our file data being transferred on the computer mainboard. At this stage between RAM memory, computer bus and CPU, there shouldn't be any loss of data due to noise. All traffic on the motherboard bus is monitored and throttled to maintain extreme accuracy. When playing music, there may be slight yet perceivable pauses due to buffering, and there may be audible clicks due to transmission protocol communication between components. While those issues may be annoying, they are acceptable and can be eliminated.
However, the transfer of music data between Serial ATA (SSD) hard drives and the mainboard can certainly have noise and jitter issues. Since SATA revision 3.0 (6 Gbits/sec) there was the provision for high speed isochronous music and video data transmission. Therefore the same types of errors can occur within SATA cables as occurs within USB cables. It is wise to use high quality SATA cables that are adequately shielded when building a dedicated audio computer.
It's important to note, that we do not want our bit-perfect stream to pass through the traditional computer sound stage. This means, we must set the settings on our music player software to bypass the soundcard (if present), or the multi-channel sound device on the mainboard. We do not want Windows or Mac operating systems to change the original file's bit-depth, sampling rate, volume data, nor frequency spectrum. What we do want is a direct unimpeded stream of music data sent directly to the USB output device, which is being controlled by WASAPI, ASIO or something designed for high quality music playback.
This brings us to the fun part - the Universal Serial Bus (USB) interface. There are other ways to get the music from our computing device to the DAC, such as SPDIF, Optical TOSLINK, I2S or HDMI, but they are not our first choice for reasons that are not part of this discussion. I'll only say that whichever concept we use, there will be an equal number of concerns. Nothing is perfect. All of these transmission protocols are influenced by switching Integrated Circuits (IC) and oscillating clock crystals.
One of the most critical points to understand at this point is that there are four models of USB data flow. We are dealing solely with USB for audio flow. We know that USB devices are ubiquitous; including everything from mouse and keyboard to printers. However, they use different USB communication models. See the article on this site about the USB Specification. We are only concerned with a highly specialized communication flow model called Isochronous, which is used for music data. This flow requires a guaranteed data rate, with no provision for requests to re-send data. Therefore, data loss and/or misreads are possible, and certainly do occur.
The USB card in the computer is expecting a continuous stream of music bits. It has a buffer and an IC chip that is processing this stream into packets which it will place on the USB cable with critical timing information. It's at this stage that the switching noise and motor noise can get into the actual digital music signal. The isochronous (Latin for 'equal time') data must also be accurately timed with a computer clock. All computers have quartz oscillators that time the transfer of the ones and zeros, travelling as discrete voltage pulses, between the motherboard components. It's important to have a high quality clock oscillator on the mainboard, but it's even more important to have good clocking on the USB board. See the article on this web site for more information on USB cable design and Audio USB Fundamentals.
Let's now address some best practice computer design principles for serving music data. We've mentioned that one of the major culprits of noise in the computer circuitry comes from electric motors. The simple solution is not to have any running motors inside your music server at all. That means absolutely no spinning disc hard drives, and no cooling fans, not even on the CPU. We suggest that you only use solid state drives (SSD) which are substantially faster anyway. Your computing experience will be better for this. We also suggest putting the operating system on one SSD and your music on another SSD. You will want to cool your central processing unit (CPU) with copper heat pipes that terminate at a large heat sink. There are numerous fanless computer cases on the market to choose from.
The next source of noise that we can easily address is that which comes from the power supply. It needs to be emphasized that you should not use a switching mode power supply (SMPS). That's the wall-wart or brick, as they are not-so-affectionately called, that comes with all laptops and many music servers on the market. Get a good linear power supply that is external to your computer and has the appropriate voltage and amperage (typically 12 volts or 19 volts). There are numerous linear power supplies available that are made for computer use.
The third source of computer noise is the switching gates typical in all of the integrated circuits (IC) within the motherboard. These are normal and should operate just fine, especially since there isn't much you can do about them, except to keep them cool. Choose a decent quality mainboard from a respectable manufacturer, and call it done. You do want to have a sufficiently powerful central processor (CPU). The processor should also be sufficiently cooled with copper heat pipes secured to a large heat sink with thermal paste. Another area that is addressable would be the mainboard clock. There are replacement upgrade clocks available for audiophile use. However, soldering components on your computer motherboard is not a project for the unskilled hobbyist. Upgrade clocks however, can make a significant improvement in sound quality.
There are a few other improvements that you can make to a computer used solely for serving music. Let's consider a few of them. It can be suggested that the SSD drives should be powered by their own linear power supply. Some people have noticed a difference in listening tests, and there may be some scientific theory behind this. These power supplies will isolate additional ground and power noise generated by the SSD drives. It certainly shouldn't hurt to isolate the power delivered to the hard drive(s). However, we don't suggest placing those linear power supplies inside the computer case, because they contain transformers which generate electromagnetic interference (EMI) and produce some heat and potentially some unwanted vibration. Another upgrade that has been suggested is to use high quality SATA cables to connect your SSD drives. This in theory can be very beneficial, because as stated above computers are noisy, and the SATA 3.0 protocol essentially behaves the same as isochronous USB data transmission for audio data. Real-time audio transmission is timed on the SATA lines within the computer as it is with USB lines.
We would recommend shielding any wires inside the computer case that carry voltage, including SATA cables, with EMI shielding of some sort (grounded foil tapes or wire mesh sleeves). Minimally you should route all cables with electromagnetic compatibility (EMC) in mind. For instance, SATA drives operate on 5 volts, so eliminate any 12 volt leads from power supplies to these drives.
The final tweak that you'll want to do for your music server is to optimize the Operating System (OS). The common computer with keyboard and mouse, video for a monitor display and network connectivity performs many functions that just aren't necessary for playing music files. Since we want to dedicate our computer to serving music only, we need to turn off unwanted stuff. This is done by disabling services and uninstalling features. This should be its own article, so I'll just mention the most obvious here. One of the typical services that is safe to turn off is automatic OS updates; but you will want to do manual updates occasionally. You can also disable any anti-virus applications from running in the background, provided you uninstall your browsing capabilities to the Internet. Remember, your music server is intended for serving music files only, not checking your social media sites. Think of this computer as an audio appliance just like your amplifier or your DAC. You will still want Internet connection via Ethernet or Wi-Fi so that you can update your music playback application and the OS.
In keeping with the concept of your music server as an audio appliance, remove all gaming software that may be included on your fresh Operating System install. Remove all shopping applications, and self-updating features like smart icons. Do not allow any music application to auto-search your computer drives to catalog any music it finds. You can manage that yourself by initiating music catalog updates at your own discretion. The only software installs on your new music server should be the OS and an application or two to catalog and play music files. You'll need a few driver files for USB hardware, but that's everything you will ever need.
Here is an outline of our recommendations for designing and building a music server:
- Dedicate the computer to playing music files, and don't use it for anything else.
- Remove all electric motors from the design.
- Cool the CPU with passive heat pipe cooling.
- Remove all switching power supplies in the system.
- Power your server with a decent external linear power supply.
- Optimize the operating system by disabling unnecessary services.
- Use a dedicated USB card that is optimized for Audio USB and has a good clock.
- Pay strict attention to separating voltage wires from data wires where possible.
- Don't try to use a laptop computer as a music server, it's incongruous with good design.