Saturday, 25 January 2014

MUSINGS: The Audio PC / Music Server / HTPC (Basics, My PC, and Some Generalization)

I'm in the process of finishing up some measurements - I think many will find it interesting in the days ahead. I'm going to let that article percolate a little first however. This week I thought I'd spend some time discussing/considering the computer system for media consumption; a bit on both the hardware and software aspects, and hopefully putting together bits and pieces I've done over the past year in the process. As you can imagine, there's quite a lot to cover...

In the hopes of a reasonable summary, here are the 3 main component functions of computing devices (almost everything is a 'computer' these days) in the media room:

1. Media Client or "Media Player" or "Transport (to a DAC)": The computer acts as a "front end" to feed your DAC/receiver/amp and or TV/monitor. Of course you can also have a good internal sound card (like the ASUS Essence STX), and I presume few are using the motherboard's sound output (usually of comparatively poor quality). You interact with the computer with whatever player software to control which tracks/files are played, how to "fast forward", "stop", "pause", etc. in much the same way as the disk spinners. Specialized "computers" may have hardware controls for this like a play button on the front panel of the chassis, maybe a specific remote control unit rather than using a generic keyboard. On-screen display on the monitor/TV can be as simple as a web-based interface like the Squeezebox server or the customary GUI of something like iTunes, foobar, JRiver, etc.

This transport/playback task can also be delegated to streaming devices of course (which are essentially little computers inside). For example, the Squeezebox familyMeridian Sooloos, Cambridge Audio streamers, Naim NAC-N, Linn DS, Bryston BDP-2, LUMIN etc... That's the higher end, but on the low end, you have things like the WDTV Live previously measured. These devices usually need to be connected to some kind of server for one's music (although some devices like the Squeezebox Touch can act as its own miniserver) and many can access Internet based streaming media like the hundreds of Internet radio stations around the world, Spotify, MOG, Pandora, SiriusXM, maybe Beats Music in the days ahead.

Although audio streaming may be all one needs, for those who "want it all", the pinnacle of the media room computer is the HTPC (Home Theater PC) with both audio and video playback capability. The HDMI interface has become the de facto digital audio-video cable to do it all. Multichannel 7.1 hi-resolution audio is essentially universal these days with modern HDMI interfaces, and 24/192 sample rates can be sent to a decent modern AV receiver with no problem. Some AV receivers will also accept DSD. IMO, multichannel PCM is preferable because DSP manipulation of the audio stream is an essential part of getting multichannel right... Good bass management (some SACD players are able to do this in DSD), channel reassignments (eg. 5.1 fold down to 4.1 system), room corrections, are all easily done in the PCM domain and would require a DSD-to-PCM conversion step if you're sending out a DSD bitstream. This limitation of DSD is a big one in multichannel and unlikely to be solved any time soon... If ever...

As for video with the HTPC, it's trivial to achieve 1080P. 4K resolution can be reached with the current HDMI 1.4 specification. As of early 2014, I suspect the market feels little compulsion to buy the current generation of 4K TV's and one would achieve little benefit apart from early adopter bragging rights (and spending quite some money in the process!). First and most painfully obvious, there's no content nor even a clearly announced means of media distribution (it looks like 4K/UHD Blu-Ray is still in development). Second, I'd suggest waiting for the wide availability of HDMI 2.0 which would allow 60Hz 4K frame rates (I see that Sony has released firmware for certain TV models already, DisplayPort can already achieve 4K/60) since there does at least seem to be some push towards >24fps movies and if I'm getting a "next-gen" TV, I'd want that. At this time, the real benefit I see from 4K is finally being able to watch 3D in full 1080P on a passive display. I'm waiting for one of those to hit an affordable price range in the 80+" size & HDMI 2.0 :-).

2. Media Server: This is the "back end" where you store your music (videos, movies, pictures). In this day and age with easy connectivity, there's nothing to keep the server in the media/listening room. Many people have opted for NAS storage and since there's a CPU inside the NAS unit, it could also run server software like Logitech Media Server, or the scads of UPnP/DLNA servers. In fact, in a home where there's wired ethernet throughout the house, you can easily have the server computer or NAS on a different floor/room. In my experience, a gigabit network can transfer data just as fast as many inexpensive high-capacity hard drives (50-100MB/s is normal with gigabit ethernet using standard Cat5e cable). A great benefit to this is that you can keep the playback machine (computer or streamer) simple, low power, cool and silent without having a bunch of hard drives running in the same enclosure while listening to your music or watching movies.

3. Mobile Control Apps: Although not specifically the computer itself, the ability to use one's smartphone or tablet computer has been a great boon to the usability of digital media playback. No longer do we need to turn on the TV to select albums, or select video. These days, I still use iPeng and SqueezePad on my iPad to control my Squeezeboxes (Logitech Media Server). Squeeze Commander works fabulously on the Android devices. Cover artwork adds to that overall presentation.

However you want to mix-and-match the functions above, there are a myriad of options based on what OS you choose, which server software, and how the media is being played. The hardware itself can be any combination of devices like NAS, laptop, desktop, network streamers, etc. It is this fantastic flexibility that can be a source of frustration to those starting to enter the computer audio world. Commercial companies are obviously interested in capturing part of the market with devices such as the Aurender computer systems, Sooloos Music Server System (see Streaming products). Not surprisingly, these turn-key products are usually Linux based, low power, relatively slow (often Intel Atom CPU, sometimes ARM based), and generally quite a bit more expensive than something one can put together with standard commodity parts. The greatest thing about true technological innovation in the marketplace is the deflationary price pressure - take advantage of it if you can! Have a look at Computer Audiophile for some ideas on building one yourself.

As a "case study", I figure it might be of interest to show the system I'm currently running...

I basically have an all-in-one box that's a server to my Squeezebox devices all over the house, a digital audio transport to my TEAC UD-501 DAC, as well as full HTPC functionality to the ONKYO receiver and 55" LG TV for movies and videos.
Hmmm... Maybe should clean up a few of those cables in there. Logitech Unifying receiver sticking up front for the keyboard.
HTPC quietly doing it's thing in the corner... The smaller box beside the computer is a CyberPower CP1500PFC UPS. Keyboard is the Logitech TK820 with touchpad.

Main hardware components:
- Fractal Define R3 midtower quiet case (2 quiet case fans - rear exhaust and front to cool HDs)
- Seasonic X-400FLII fanless 400W PSU
- ASUS F2A85-V Pro motherboard (HDMI 1.4)
- AMD A10-5800K APU (integrated AMD Radeon HD7660D GPU)
- CoolerMaster Hyper 212 Plus CPU cooler
- 16GB (2 x 8GB) Kingston Hyper X Blu DDR3 RAM
- SiliconImage Sil3132 port-multiplier eSATA card
- 128GB OCZ Vertex 3 SSD boot drive
- 2 x 3TB WD Red for music library
- 1 x 2TB WD Red for video/movie library
- 1 x 1TB WD Green for web server data
- 1 x 1TB WD Green for misc data backups
- LG BH12LS35 Blu-Ray reader/writer - playing the occasional Blu-Ray & audio ripping

OS: Windows 8 Pro / 64-bit

The AMD A10 CPU has worked well for me in the past year. In fact, I undervolt and underclock it slightly to 3.5GHz to keep it cool and quiet with the CoolerMaster CPU heatsink/fan. I haven't measured, but the CPU power consumption would be substantially less than 100W.

Notice that the HTPC isn't built with necessarily the newest generation hardware components. In fact, much of this was put together more than a year ago. Unless some "disruptive" killer app were to be released that needs much more computing power, I suspect this would be all I need for the next few years (clearly the push to upgrade is slowing). Audio processing doesn't take much power. At times I will turn on SoX minimal phase upsampling à la Meridian for the Transporter (see VirusKiller's thread), other times play with JRiver's PCM to DSD conversion à la EMM Labs, or try out a convolution room correction filter with foobar - never has the AMD A10 felt underpowered for these tasks. With a better audio room since moving into the new house in late November 2013, I've been quite aware of the slight noise the computer makes. Recently, I replaced the power supply with a fanless model (the Seasonic 400W) which lowered the noise a bit.

At this point, the computer is still slightly audible on account of the spinning hard drives (softer than the Panasonic Blu-Ray player in use). The problem with upgrading the room significantly (my ambient SPL is <30dB(A) at night) is that you also have to get the other parts up to spec as well ;-). I guess I can look at moving the hard drives used for video and web serving over to another computer on the home network to drop a few more dB's.

I have 6TB of space for all the music (all backed up on another machine over the gigabit network). The library consists of stereo PCM CD's (~3000+ albums) and hi-res downloads and rips (~250 albums). I have some multichannel 5.1 music (~100 albums) in PCM format taken off my DVD-A/SACD/DVD/Blu-Ray/DTS-CDs. All the PCM music encoded losslessly as FLAC.

Finally I have a small ~30 album collection of DSD stereo music which I know are either sourced from genuine DSD recordings or analogue transfers (ahem... no Norah Jones Come Away With Me type faux DSD, thanks). These DSD recordings are stored as .dff because I like lossless DST (Direct Stream Transfer) compression. As I noted months ago in my SACD/DSD Musings, I do not like the fact that one currently cannot have both tagging and compression. Without compression, DSD files are unnecessarily large, wasteful, and ultimately inelegant IMO. DST compression brings them down smaller than the size of average 24/96 files and I make sure that the filenames I choose can be easily parsed for album, track number, artist, and title. I don't have many DSD albums on the server so it hasn't been difficult. Despite the ongoing hoopla around DSD, I remain sceptical that DSD will have much traction unless a simple foundational issue like a fully featured, modern, file format is addressed. (Actually, I just suspect there's not going to be maintained traction simply because DSD doesn't bring much to the table...)

I'm not going to say much about the video playback since much of it is just family videos with some Blu-Ray rips I made for demo purposes when people come by to visit. The AMD A10 APU has a built-in graphics processor and the HDMI out of the motherboard works well to send multichannel 24-bit audio and 1080P video to the AV receiver.

Player Software:
I see audiophiles can really get heated about this. For those who have been around this blog for awhile, you'll know that I did not measure any difference between bit-perfect software players whether with Windows or Mac OS X using the TEAC DAC. This was the same for PCM and DSD. Furthermore, the "audiophile" player JPlay made no difference and in my opinion risked audio errors with extreme settings like unnecessarily low buffer space. Since I do not claim to have particularly "golden" ears (I'm in my 40's now), I likewise hear no difference between these players.

On my HTPC, I currently have 3 audio "servers"/players running:

1. Logitech Media Server (aka Squeezebox Server back in the day). All my stereo PCM music is streamed out to the Squeezebox units I have scattered around the house. In the listening room, I have the Transporter on the rack. BTW I do have a few 24/192 albums in my collection, but for most DVD-A rips where I have the physical copy, I usually downsample to 24/96 anyways. There are many "fake" 24/192's out there (just like 44kHz upsampled DSD) and even for those that are genuine hi-res recordings or analogue transfers, there's rarely content related to the music itself above ~40kHz (not that anyone would be able to hear it!), so I figure there's no point wasting space.

Because I have 16GB of RAM, I've set up a 4GB RAM disk (free one for personal use) and modified my configuration for LMS to put the database there. Really speeds up library searches - almost instantaneous.
Logitech Media Server (LMS): Some Billy Joel or Benny Mardones anyone? :-)

As mentioned above, I use SqueezePad, iPeng, and Squeeze Commander to control the server.

2. foobar2000: Fantastic, flexible, free software I keep running 24/7. The library keeps track of all my multichannel PCM music and the default output device is to the ONKYO TX-NR1009 multichannel receiver via HDMI using WASAPI. FoobarCon Pro is my preferred controller software off my Nexus 5 or 7; cool that it also has panels to view artist bios and track lyrics so you can sing along as the surround sound plays :-).

Foobar playing 24/96 5.1 Crowded House DVD-A rip.

3. JRiver Media Center 19: Again, I keep this running 24/7. Works beautifully and fully featured with a huge number of customizations and options. Although it has many advanced features like the ability to realtime upsample PCM to DSD64/128, I'm actually not using this for any of my PCM playback... JRiver is dedicated to feeding the TEAC UD-501 all my DSD music in native ASIO! As I mentioned above, .dff files cannot be tagged natively but JRiver can keep an internal database and has the ability to parse the filenames to "recreate" the album data, sort artists, tracks, etc. Furthermore, it decodes DST without any problems even when in the past I found issue with foobar's DSD decoding plugin. Nice :-). I don't think there's another software package that will do all this in such a hassle-free fashion with a lovely presentation at a very reasonable price (~$50USD).
A peek at the DSD library in JRiver using filenames and path to reconstruct tagging information.

JRiver provides the free Gizmo app on the Android for playback control. It works well but functionality is more basic than something like the Squeezebox controllers above. However, the really cool part is that JRiver can transcode and play music and videos to said Android device via Gizmo. A reminder that JRiver isn't just for music but works well as a full-featured "Media Center" for all your A/V needs.


So that's a glimpse into how I'm currently using my HTPC. Perhaps some of this could be useful for your setup as well.

Now about audiophilia and computer audio...

To close off this blog entry, let's talk about the computer in an audiophile setup; specifically achieving excellent sound quality. I know many people believe that all kinds of arcane software tweaks such as turning off unused processes like printer services, BIOS tweaks, etc. are necessary to ensure good sound (something like this). Much of the OS tweaks probably do no harm and some of these recommendations may have been useful at one time (like a decade ago); I just don't think much of this is relevant any more or makes any difference. As far as I can tell, jitter under high CPU load is not an issue even with a simple TosLink off a motherboard as I showed here so I hope nobody falls for the "it causes jitter to be worse" explanation unless demonstrable at the level of the DAC output. Others in the past speak of using low power CPU's for audio (I haven't seen as many proponents these days). For me, the good thing about a more powerful machine is a speedier user interface, faster file scanning for the server, and also the opportunity to use DSP like convolution room correction filters without the machine breaking a sweat. Of course, you'd want a more powerful computer for video playback. Some others even advise against using lossless compression. Seriously, does anyone still actually believe a processor unintensive task like FLAC lossless decoding will cause enough electrical noise/interference to make it sound worse than a WAV file especially played off an external DAC!? (I certainly hope ideas like this will become just as bizarre as the belief in greening the edges of CD's 20 years ago.) Sadly, over the years, various audiophile magazines have promulgated much speculation and disinformation without checking facts or consulting with common sense (much less science/engineering).

Let's keep it simple - IMO, the main ingredients of a good computer audio setup:

1. Keep the computer sonically quiet! As few fans as possible if not fanless. Laptops are great for this - something like a MacBook Air or Ultrabook would be fantastic for example given how quiet they run. If you can, relocate noisy hard drive servers to another room with wired network (I consider wireless too unreliable for my taste and can be strained by high-resolution data rates).

2. Keep the computer away from your audio gear to reduce EMI/RF from entering the analogue path.

3. Get a good DAC. External units are great because they can be placed with your other components and isolate the computer as in point 2. Make sure you're using the best driver especially with PCs such as bit-perfect ASIO instead of going through the Windows Mixer to ensure bit-perfect output. Also, jitter has more to do with the quality of DAC than anything you fool around with on the computer side. From my measurements posted around here over the last year (eg. look at the TEAC UD-501 PCM results), a good modern asynchronous USB (or ethernet streaming) is generally better than SPDIF (coaxial/TosLink) due to lower jitter (J-Test results better but for the most part I doubt it's audible).

4. Things to not sweat about: cables - just make sure your power cords and interface cables work and look good enough to you in your room. IMO expensive cables may look good and convey a sense of authority, but please do not equate aesthetic value (eg. jewellery) with function (ie. "better" sound). Specific make/model of computer - again, this is aesthetic and so long as it runs your choice of OS, you're good. (No, I do not consider Apple computers as somehow better sounding.) OS - Mac, Windows, Linux, whatever so long as your server/player software runs well on it. As I showed here, different laptops and OS's connected to the same asynchronous USB DAC results in exactly the same analogue audio output. While I can't vouch for every computer, so long as bit-perfect output to the digital interface is assured, there's no need to fret. Player software - Again, see my bit-perfect measurement posts here, here, and here. Find one that has all the features you need and achieves bit-perfect output.

If you have the above down pat, then by all means tweak to your heart's content! Just don't break anything...

I just realized I've been building my computer audio library since 2004 (10 years already!). For those new to computer audio, I suspect all of this could sound overwhelming (and I'm sure I missed some important points). Stick with it, play around with it - it won't take long to pick up. No matter what I do with the computer setup, without doubt, the most time consuming bit of all has been to make sure all the music is tagged properly and named in a consistent fashion (try Mp3Tag). Keeping the directories clean, using the same filename for cover images, and ensuring bit-perfect rips (try dBPowerAmp CD Ripper) do take time and effort; this is as expected since it's all about the music, right? Despite all the effort, high-resolution digital audio is as good as it gets for the audiophile who values high fidelity and the convenience in accessing all your music with a few search keystrokes is undeniable.

It's a great hobby with many avenues to explore. Just don't forget to listen, and enjoy the music :-).

PS: Backup regularly.


  1. Another great write up. I wish I could listen to your system! I was fed up with my gaming PC / media server making too much noise in my 10x12 listening room / office so I got a 2013 Mac Book Pro and pull all of my media from a Synology NAS (DS712+) over gigabit ethernet. The NAS lives in a far corner of the house. The mac is dead quiet since it has SSD. I feel that there was too much compromise between building a dead quiet HTPC and one that is powerful enough to play latest 3d games etc, watch 1080p movies.

    1. Hey Leonid. Looks like a good system you got there with the Mac! Hey PM me if you're in town (Vancouver)... I usually hang out at the Squeezebox forums and will check my mail when I can.

      I figure I would not be able to play the latest 3D games on this system so did not bother building it to those kind of specs. I do have a Radeon R9 270X card on my living room gaming system now (replaced the GTX 570) - Battlefield 4 at max settings in 1080P runs quite well on this so I'm happy.

      I'm waiting for an opportunity to move those video drives off to a low power PC outside of the AV room sometime in Feb.