pf logo

audiodiscourse.jpg (10290 bytes)


A Simple Serving of Digital Media…
by Kevin Kennedy


Last summer after dealing with the realization that my old Lambda Drive was probably dead, I rationalized that the money needed for a replacement could probably be better invested in a homebrew media server. I was feeling pretty poor at the time and was therefore determined to spread out the hardware acquisitions over a month or more to keep short-term expenses manageable.

Initially I envisaged a simple server providing stored music in some as yet undetermined format and having a sufficient feature set to allow me to connect a spdif output to my venerable PS Audio Ultralink II DAC.

For those of you not wishing to design and build your own server, and overcoming the considerable design and performance obstacles along the way, Olive Audio has a trio of excellent turnkey solutions ( For the rest of you intrepid enough to go blindly into harm's way, I will begin to describe my odyssey.

It is understood that this article is pitched at those who are quite computer literate in both the software and hardware spheres, and have good familiarity with configuring windows XP and installing third party software. Getting everything to work satisfactorily can be frustrating, grinding hard work, and is not recommended for the faint of heart or the easily frustrated. If all the above doesn't sound good to you take a look at the offerings from Olive. Note also that the interface is not slick, and if you don't love WinAmp, you might want to consider whether this is the right approach. Most of this is also achievable in Linux; however, I do not have sufficient familiarity with that OS to attempt it at this time.

Before I get into the considerable nitty gritty of building a media server, I should note that I am more than pleased with the end result. Reliability has been excellent since I completed it almost 8 months ago. The sound quality of the server handily meets or exceeds my performance expectations, 20 bit HDCD format playback works like a charm, and the ability to create playlists and access any material in the library within seconds with just a couple of mouse clicks has heightened my enjoyment of music. The primary limitation on sound quality seems to be the DAC, which is as it should be in a good digital source.

Choosing hardware and finding the "right stuff” cheap

I decided early in the process to avoid cornering myself into a setup tailored for audio use to the exclusion of anything else. This lead to the purchase of a 2600 ASUS motherboard designed to support the Athlon XP series processor. Others have differing opinions and the VIA C3 family of motherboards and processors are quite popular for this application as they are quiet enough and do not needing a processor fan to be used in a very quiet environment.

The main focus of this server was serving music digitally, and as an afterthought also a DVR device. The decision to upscale the processor has some distinct advantages; basically, it means I can listen, rip and encode music more or less simultaneously or stream audio to a remote location while watching a TV program previously recorded on the server.

Perhaps the most important criteria for this project was that it had to cost under $1000 and deliver audio performance at least comparable to the Lambda Drive.

The first thing I did was choose one of the few existing quiet cases, a product with a small footprint and extremely low noise. I ultimately choose the Antec Aria, which has just enough space for a Micro ATX motherboard, three PCI slots, and one AGP slot. This proved fairly problematic in the end. It is also strikingly attractive in my opinion and gives the server a decidedly non-PC box like appear. The case was on sale at at the time and was about $40 below list, far cheaper there than anywhere else.

Details here:

The motherboard, Athlon XP2600 retail version, 512MB 333MHz dual channel DDR memory, and an 80GB 7200RPM ATA 100 hard drive all came from Directron.

The motherboard chosen (I'll make no specific recommendations due to the frequently changing market) had integrated audio, video, and Ethernet. Video performance of the onboard NVIDIA chipset is more than satisfactory for media use including PVR, and HDTV level resolution, supported via DVI video outputs. It was another story for the onboard audio unfortunately. Although it sounded pretty good the ALC650 resamples in hardware and this feature is not defeatable, preventing playback of HDCD format material except as 16 bits and obviously I wanted as close to the original data stream as possible. This unfortunate discovery resulted in my purchasing an M-Audio 2496 PCI audio card. Other cards that are equally acceptable include the EMU0404 and EMU1212. Last time I checked Chaintek made the very inexpensive AV-710, which has a spdif output and like the above cards can be configured not to resample everything to 48kHz.

There is one external drive bay in the Antec case and I purchased a Samsung 8X dual layer DVD burner, which also supports the current C2 audio error correction protocols and in general has rather good performance.

To this mix I added a 2.4GHz wireless card and one of the ubiquitous Hauppauge TV tuner cards, the very inexpensive, but good performing PVR 150MCE.

I quickly discovered that the 80GB hard drive was too small and ended up adding a 250GB drive to supplement it. I recommend purchasing a single large drive from the get go to avoid this issue, and because it will result in a quieter, cooler running PC. Mine got somewhat noisier with the installation of the second drive.

As mentioned earlier the lack of additional PCI slots precluded the use of the EMU1212 sound card, as this requires two slots, it also prevented the installation of a firewire interface or second tuner card as well. (Dual tuner cards are available.) All slots are occupied due to my decision to use wireless networking to connect to our household LAN, and I also felt this would eliminate another possible ground loop problem via Ethernet. The integrated Ethernet port on the motherboard was disabled. The final PCI card line-up was the M-Audio 2496, Hauppauge WinTV 150MCE TV tuner and pvr card, and a no name wireless networking card. Should you require smart card or other memory support, the Aria case supports this, just one USB port on the motherboard is required. A single firewire port is also provided on the front of the case should your motherboard incorporate firewire support.

Total cost of all the above hardware and a copy of WinXP Pro OEM to run it all came in around target with careful online shopping. No items were purchased on eBay, as this no longer seems to be the place to find bargains in computer hardware, in all cases I did better on price by just shopping around. In many instances, I was able to get good deals on shipping as well.

The recommendations above are only intended as guidelines—one could invest in a system with a very good video card for HD gaming purposes, Sata hard drives, and Gigabit Ethernet. However, there are a limited number of sound cards that provide the level of performance required for media serving at a level of performance that even begins to approach High End performance levels.

Building the box..

Having collected the pieces I disassembled the case and removed the side and top panels. Observing good anti-static practices, I installed the motherboard, the processor, ram, and finally the heat sink. Next, I made all of the various connections to the supplies, front panel connections, and installed the PCI cards. The drive bay assembly in the Aria is fully removable, so I installed the drives and ata interface cables while the bay was removed.

I powered up the unit for the first time and configured the bios as needed, then I installed windows XP Pro SP2. Microsoft was not selling MCE to consumers at the time I built this machine, however I understand that this is no longer the case and it is available to those who ask for it provided they are purchasing some hardware and don't mind paying additional for it. That said XP Pro is adequate for the computer literate although the experience is not anything like media center.

The first thing to note about windows XP is that the audio dll's do bad things to the audio stream. Most serious audiophiles are using ASIO to completely bypass the windows mixer and other audio devices. This presupposes that your sound card directly supports ASIO, all of the recommended devices do. Note that ASIO is often used in applications where low latency is important, but that software converters like ASIO4ALL really do not address the resampling issue effectively if hardware sampling is in use. I do not recommend its use, and a sound card with direct ASIO support and user programmable sampling rates is indicated. To get the ASIO driver for WinAmp or QCD go to and download either the latest .exe or .dll version to your PC. Current versions of this are 0.64 for the dll version and 0.67 for the .exe version, note that 0.68 version is for 64-bit windows and I have not evaluated it.

ASIO must be configured to output the audio signal on the proper output channels for your particular sound card. Oddly, customer support at M-Audio could not tell me that I needed to select ch.2 in ASIO stereo mode to send the signals to the SPDIF inputs in the mixer and output module.

I installed the most stripped down version of WinAmp as my long-term media player as it is quite stable, never crashes, and in classic skin mode and most modern skin modes is fully compatible with the Stream Zap remote I use.

Media Players, Rippers, and Audio Codecs

I experimented from the onset with a variety of media players, I particularly like QCD, but unfortunately with the combination of ASIO and the FLAC reference decoder stability leaves something to be desired. FOOBAR 2000 has a very simple, clean interface but I was never able to get it to work properly with ASIO, and despite removing all dsp plugins it did not sound all that good to me. For its stability, compatibility with both ASIO and FLAC, and smooth operation for the most part with the Stream Zap remote I ended up with WinAmp 5.

I use EAC (Exact Audio Copy) with Accurate Rip to rip my cd's to the hard drive, then I convert them to FLAC (Free Lossless Audio Compression) which reduces the file size by anywhere from 20% - 40% to save space with no loss of quality.

FLAC is available here:

EAC is available here:

Typically, you will have to manually copy the FLAC codec and the ASIO plug in to the plug in folder in WinAmp and then configure ASIO as noted above.

If you use QCD it comes with an option to install FLAC support during installation, which is very convenient, but you will still have to copy the ASIO plug in to the plug in folder to provide ASIO support. The WinAmp ASIO plug in last time I checked was fully compatible (see above) with QCD.

Basically transferring music to the server consists of the following somewhat tedious process.

  • Rip the desired CD to your hard drive. Avoid using normalization if possible; you may have to experiment with settings in EAC to get gapless playback with your particular drive.

  • Using the FLAC converter, convert the files to FLAC. I usually set it to minimize the amount of space required, but this can be slow. Fast conversions can result with less aggressive compression settings and file size will only be very slightly larger.

  • Edit existing m3u playlist in notepad by using the replace all command to change all references to .wav files to .flac files. Resave the m3u file.

I mentioned earlier that the server also supports video media, for which I highly recommend the SageTV software. There is a trial version online and the licensed version can be downloaded for $79.95. It includes an online TV guide, many automated and manual program-recording options, and the ability to pause live TV. Trial download is at

So far, this application has proven to be extremely stable and reliable, and has the ability to wake the server from standby mode, which is used to reduce power consumption.

This article has very briefly touched on the aspects required to complete a function media server. Further information can be found on the server thread I established on here:

This thread pretty well chronicles my experience in building and debugging the server, anyone contemplating following in my footsteps might want to read this first.

Getting a PC to output an unmodified spdif data stream proved to be a daunting task, given that I am now able to playback HDCD material in native 20-bit mode it is clear that the HDCD subcode is being preserved during the playback process. 16 bit PCM is likewise not modified in any way that I can discern with the methods at my disposal.

I built one small additional piece of hardware, something I will loosely term a spdif isolation device, and it just consists of a Newava spdif transformer purchased from Digikey, and a Coilcraft common mode toroid choke for USB and similar applications. This is just icing on the cake and isn't strictly necessary. Details of this device for those who are interested will appear in a subsequent article.

What's up and coming

Future articles will include a new SE amplifier design featuring a choke loaded, direct coupled mu follower driver stage, big polypropylene in oil filter, cathode bypass caps, and ripple canceling in the output stage. It is simple and bullet proof, a good first project for the inexperienced builder. It will deliver performance that will be attractive to the demanding audiophile as well.

Project Onken, or how I finally built the speaker system of my dreams. (Well I have been dreaming Onken since about 2000) The system features new Iconic Speakers 165 series woofers in an 11 cu ft box, a JBL horn midrange, and JBL ring radiator tweeters. Butterworth cross over design. Tweaking and listening tests. AND hopefully how I did not break my back setting all of this stuff up… This should be interesting...

A review of the Chime DAC from Hagerman Technologies. It's a great little, versatile DAC for the money.

All of my old project books are once again in print just go to for details.