No, you don't want a music server

Posted on 10/12/2022 2:00:00 PM by alwayslistening

I get a lot of emails and phone calls from people looking for an "audiophile grade music server." Usually the call goes like this:

CALLER: Hi, I'm looking for an audiophile grade music server. Something I can put my 3TB library on. And connect to my DAC. And that sounds better than anything else.

ME: Anything else it needs to do?

CALLER: Well, UPnP or DLNA. mConnect app. You know, so I can control it.

ME: I see. Anything else?

CALLER: No, that's it.

First, I tell them that we don't make that device. Then, if they let me, I tell them why.

The Short Version

It won't sound great.

The Long Version

It won't sound great, for several reasons.

Computers are wonderfully powerful multi-purpose devices. They're also terribly noisy (electronically). So, you *really* don't want to connect one to your DAC.

If we break down the audio playback chain, we'll see we need to solve a few functionality puzzles. Here are the parts we need to successfully get a song file at rest and turn it into audible music flowing out of speakers.

  1. Storage
  2. Search, Sort, Filter
  3. Playlist
  4. Play, Pause, Stop (fast forward, rewind, etc.)
  5. Clocking
  6. Digital to Analog Conversion
  7. Amplification
  8. Speakers / Headphones
  9. Volume Control

This is going to be longer than we thought.

1. Storage

If you use Tidal or Qobuz, we're done. If you have your own music library, then you need to put it somewhere. PC parts are pretty cheap, unless you buy them inside a custom-built low volume high end audio component, then they're pretty expensive.

Solution: store your files on a drive in a computer / server / NAS.

We don't need the data in real-time. Existing protocols are error-free (most use checksums) and can transmit data faster than it's needed.

Verdict: Accessing this storage device and transmitting the data is electrically noisy, so keep it out of the audio chain.

2. Search, Sort, Filter

Next up you'll need to solve how you'll pick what you're going to listen to. You'll want to sort, search or filter using a high performing (lots of RAM is great here) database and tons of metadata. Without loads of metadata, what exactly are you searching? Track titles?

Solution: Do this in a powerful computer.

Verdict: Data heavy operations are electrically noisy, so keep them out of the audio chain.

3. Playlist

Great, you found some tracks. now, we need to save them in and the playback sequence to build yourself a queue. As your playlist gets longer, it requires more data to represent it. YOu may also want to track what you've listened to already. Maybe how many times you've heard it, what resolution its recorded in. Some album art. The list goes on.

Solution: Do this in a powerful computer.

Verdict: Data heavy operations are electrically noisy, so keep them out of the audio chain.

4. Play, Pause, Stop (fast forward, rewind, etc.)

You gotta press Play somewhere.

Sure, you could have your final endpoint device (the one that touches the DAC) run a web server to host an array of playback control buttons. An indicator of the current playback position, and where you are in the queue. Maybe a list of saved playlists? But that's quite a load to manage.

Solution: Do this in a powerful computer.

Verdict: Server applications require computer power and are therefore electrically noisy. Keep them out of the audio chain.

5. Clocking

Alright, we finally have a track we want to play and now we need to pass some bits to a DAC. What we want to do is this:

  1. Have bits passed to us from the computer parts but have them be galvanically isolated. Ethernet does this.
  2. Clock those bits to the highest precision possible. A network streamer like the A Cappella III does this.
  3. Pass them to a DAC with galvanic isolation in a highly accurate and stable format. I2S as LVDS over HDMI is an excellent solution for this.

You can easily argue that anything the device responsible for clocking and sending this audio signal can be fairly easily impacted by anything else it has to do. So please, don't put computer stuff here.

Solution: Do this in a network streamer.

Verdict: Computers are great for computer stuff but leave the audio stuff to an audio device.

6. Digital to Analog Conversion

I'll save my words and your time... use a DAC and not a computer sound card.

7. Amplification

Solution: Amplifier(s)?

8. Speakers / Headphones

Solution: Speakers / Headphones?

9. Volume Control

There's a possible Holy War hidden here, one where I'm not comfortable taking a side.

On the one hand, we have digital volume control which alters bits. Yet, done well, it can do so with substantially less distortion than its analog counterpart.

On the other hand, we have the analog volume knob. That big round chunky block you reach for when you get the urge to "turn it up, man."

Solution: Have both options... but if you're going to do digital attenuation, do it in a computer.

Verdict: Data heavy operations are electrically noisy, so keep them out of the audio chain.

--

One of the things I like most about Roon is their network architecture. You can have a beast of a PC driving the core functionality we looked at above (The Roon Core). You can use a laptop, or better, a tablet or phone, to remote control playback... and yet have neither of those devices be in the playback chain. (Very important when they screen lock / sleep on you) And then using the magic of Galvanically Isolated Ethernet (all Ethernet is isolated via transformers), you can send a stream to an endpoint that has just 1 job to do: clock that stream as precisely as it can to pass it to a DAC.

Oops, I forgot about the caller.

CALLER: Wow, that's a lot of information. And you really know your stuff. That was a good overview of the landscape, and not once did I feel like you were talking down to me.

ME: Great, glad it was helpful.

CALLER: So, you don't make servers, though, right? I really want a server.