I’ve been running my music system at home using Squeezebox Server software for many years. It has served me well, but Logitech bought the entire eco-system and then abandoned it. Because it’s Open Source, it’s still updated, but it’s time to do an upgrade to a better system. After testing a lot of different server solutions, I finally choose Roon by Roon Labs as my music server software. Here’s why.

Roon Music Server Software

First off, I hate software that is subscription model based, and the Roon music server software has a yearly subscription of around $100. However, you can buy a lifetime licence for $460 and never have to worry about it again. If you think that hundred dollars a year for a music server software are expensive, well, so did I. Until I started to use it.

My Setup

Let me describe my audio setup first. In my lab/bedroom I have a stereo system setup with Elac BS 263 speakers that have their amazing jet ribbon tweeters and a complementary subwoofer. The music is fed from the Roon music server to a Raspberry Pi 3 running DietPi, because of its easy support for Roon. with the excellent DAC Khadas Tone Board that is cheap, but measures like the heavyweights.

I also have my main headphone setup beside the bed. For music listening, I have another Raspberry Pi 3, running DietPi that connected via USB to the S.M.S.L SU-8 balanced DAC. This DAC measure like a champ, punching way above its price. I also connect my MacBook Pro via optical out to the SU-8 DAC for watching movies. Everything goes through the stellar Massdrop THX 789 headphone amplifier. Check out the insane performance of the Massdrop THX 789 amplifier here.

SMSL SU-8 DAC showing 48 k on its display, stacked on a THX AAA 789 headphone amp with a balanced cable plugged in

I have yet another Raspberry Pi 3 as my music playback system in the living room. A Topping D50 DAC (measurement results here) connects to Raspberry Pi 3 via USB. Output from the DAC goes to a modified Class-A amplifier with my homebuilt ProAc Response 2.5 clone speakers.

Why Roon?

Using Roon is easy to learn and master. It scans through all your local music in the folders you specify, which in my case is stored on a QNAP file server. But you can install a hard disk directly to the server if you wish. It then adds cover art, reviews, info about the artist and all the information about the production of the album. If another album, song, artist or other people that were involved in making the record is mentioned anywhere, it automatically links to that information. This feature means that you can find all the albums you have that is mastered by the king Steve Hoffman, for example. You can like songs, albums and even anyone that is in the production and there’s a one to five-star rating, both the reviewers rating, but you can add your own as well. Naturally, there’s an easy to use playlist function as well.

Signal Path

One great feature is always to be able to see the signal path integrity. If you play a song that is lossless, it shows it as a little silver dot. When playing compressed music, the dot changes colour, from green to red, depending on the compression used. If you do any processing, the dot changes to a silver star. If you click on the indicator symbol, you can see the entire processing chain, from the song origin all the way to the speakers/headphones. You also get an indication oh how fast your Roon Server can process the sound. In the picture below, you can see that the source is an MQA 24-bit 48kHz source file, the unfolding to 96kHz after decoding of the MQA information. Then you can easily see the entire processing chain, including all the DSP audio processing, applied. The total processing speed is 13.3 times the speed of the song, which is good. If the rate drops below 1, it’s time to either remove some of the processing or get faster server hardware. But you have to go quite crazy to bog down the server under x 1. Like upsampling everything to DSD512.

Roon’s Signal Path panel marked Enhanced, listing every stage from the FLAC source through MQA decoding, volume leveling and EQ to the SMSL SU-8

Topology

The idea behind how Roon works is to have a server that does all the heavy lifting. That includes upsampling, DSP functions and maintaining your music library. Then you have Roon endpoints, which can be any of the supported hardware available, a Raspberry Pi with a DAC or even the now discontinued Google Chromecast Audio using the optical out to an external DAC. You don’t want to use the Chromecast Audio output directly, because it doesn’t sound very good. But as a receiver to a DAC, it works very well. There’s no processing other than delivering the audio streamed from the server on the endpoint device.

There’s support for old Squeezebox hardware as well, which is great if you have some of the old devices.

Displays

A wall-mounted TV running Roon’s display mode, showing artwork and a waveform for Blur’s Fade Away between two floorstanding speakers

You can use a regular Chromecast to display the currently playing song playing on any endpoint, including the lyrics on your TV. This function is quite fun when you have a party. Impromptu karaoke anyone?

I enjoy seeing the album art and pictures of the artist when I play music in the living room. You can configure the Chromecast to automatically start the TV when you start playing music from a specific endpoint.

Discover Mode

There’s a lot of different ways of looking at your music library. Here are some screenshots to give you an idea.

There’s an automatically updating section called “Discover.” It keeps tabs on what you listen to, and provide you with suggestions on hidden gems or other albums. I love it.

Roon’s Discover page showing cards for 2010s Goth Metal, 2010s Latin Rock, a featured composition and a featured collaboration

Roon Discover Section

Roon’s home page greeting Jacken above library counts of 1954 albums, 26765 tracks and 782 artists, with a Recently Added row below

Main Welcome Page

Roon’s Overview page with Iron Maiden as the featured artist above a row of genre tiles

Roon Overview Section

Adding Tidal

If you’re like me, who have invested heavily into my audio gear, Spotify’s lossy compression won’t do. Tidal streams at CD quality or higher, but their application isn’t as polished as Spotify. However, there is built-in integration in Roon for adding Tidal or Qobuz, and the integration works like magic. There’s a radio feature inside Roon, where you can select any song and Roon automatically creates an endless radio station with music based on the song you selected. And if you have Tidal connected to your server, it fetches music both from your local library as well as from Tidal. If you find an album you like on Tidal, just press “add to library”, and you have it readily available. Albums from Tidal has the little Tidal logo on the cover when they are displayed in your library.

Tidal’s What’s New section inside Roon, a grid of 2019 album releases with star ratings and CD or MQA badges

On every page, like album reviews, artist information etc, you have active links. So if another album or artist is mentioned in the text, it links directly to that album or artist. This makes it fun when reading reviews of music. Just click the links and go down the rabbit hole.

As you can see it on Ice Cube’s artist page below. N.W.A is linked automatically as well as other artist and albums mentioned. Just click, and you’re there. If you don’t have it in your library, it finds it on Tidal (or Qobuz.)

Ice Cube’s artist page in Roon, where N.W.A, Eazy-E and other names in the biography are clickable links

High Resolution and MQA

Naturally, Roon supports high-res audio. When streaming through Tidal Hi-Fi, you can stream high-resolution MQA audio. There’s been much discussion on the good or bad of MQA all over audio internet forums and blog posts. It’s a system for putting high-frequency information in the noise floor for later unfolding (some talk about six bits of information in a 24-bit file) and also does some phase correction. This makes the files to stream smaller, but still retains a higher resolution than regular CDs. If you use Tidal’s HiFi subscription tier, you can stream MQA encoded files directly. If your DAC doesn’t support MQA, Roon can do the first unfolding for you. You can get uncompressed hi-res streaming from Qobuz, and you don’t need a DAC that supports MQA. That’s the way I’ve gone.

Audio Processing

Roon’s DSP screen for the SMSL SU-8, with headroom management, sample rate conversion and a filter chain of Crossfeed, Parametric EQ and Audeze Presets

You have many options to optimise your audio setup for each of your audio endpoints. There’s no AU, VXT or other external filters, but Roon comes with some very handy integrated DSP tools.

Procedural EQ

Roon’s Procedural EQ with a Generic IIR filter, its A1 to B2 coefficients, per-channel switches and the Add Operation menu open

Parametric EQ

Roon’s Parametric EQ showing the combined response curve across five bands, with Band 1 set to a low shelf at 108 Hz

Room Curve

Great for doing easy changes, like setting up a “Room Curve” or add some bass. You can configure each music endpoint with different settings. When you save a setting, you can apply it to other endpoints as well.

Speaker Setup

Roon’s Speaker Setup filter, with distance, gain and invert-phase controls for the left and right speakers

if you’re unfortunate enough not to be able to place your speakers at an equal distance, Roon gives you the ability to set the distance from your listening position for each speaker. The processing adds delay if there is a difference between speakers. You can also set the individual gain for each channel.

Convolution

Roon’s Convolution filter panel explaining the supported impulse response formats, with a bedroom-subwoofer filter loaded

Now we are getting serious. Using REW and a good measurement microphone, you can make FIR filters for doing room correction. I’m thinking of writing an easy guide on how to do just that, but Google is your friend, and you can find all the information on how to do it.

Crossfeed

Roon’s Crossfeed filter on the default preset, with a 700 Hz cut frequency and 4.5 dB feed level

Don’t like the “inside your head” feeling you get from headphones? Use Crossfeed to add bleeding of the sound into each channel which makes the sound less fatiguing and sound more like when you listen to speakers in front of you.

Audeze Presets

Roon’s Audeze preset picker listing the LCD-X, LCD-XC, LCD-2 and LCD-2C, with LCD-2C selected

I like this one, being the proud owner of the Audeze LCD-2C headphone. This addon does the DSP correction for all their different models of headphones for optimal sound quality.

Controlling Roon Music Endpoints

There are several ways of controlling the music playback on your different systems around the house. There is an iOS, Android, Mac OS and Windows application available. All of them can act as an endpoint for playback as well. You could also buy a Raspberry Pi with the 7" screen and setup control stations around the house. There’s even a dedicated Linux distribution called RoPieee just for that.

You can group several playback endpoints and set the delay between them for perfect playback around the house. Great when you have a party and want music in several rooms at the same time.

The Roon Server Hardware

You need a dedicated Roon server. The server does all the processing, so the endpoints don’t have to do any processing, it just receives the music to playback via Roon labs own RAATS protocol via WiFi or Ethernet. You could take an old PC, Macintosh or a modern QNAP NAS and set it up as a server.

I use an old laptop that has a dual-core Intel i7 processor. However, if you are planning on doing much processing and having a lot of different endpoints running at the same time, you need a more powerful server.

Roon Optimized Core Kit

Roonlabs, the developer of the Roon software has made a Linux distribution called Roon Optimized Core Kit. The good thing about the Roon Optimized Core Kit is that you don’t need to know anything about Linux, a web interface is available where you can do all of the configurations without ever touching the command line. It’s designed for the small Intel NUC 10 NUC10i3FNH computer. All you need is 64GB of M.2 SSD for storing the database and caching of images and 4 to 8 GB of internal memory. Total cost on Amazon, around $530. If you’re not planning on doing a lot of DSP processing, you could use the Intel Core i3 based NUC7i3BNH computer instead. That cut’s the cost down to around $350. I will get the higher performing one later. After the server is up and running, you can change any setting from any endpoint you have available.

If you know your way around Linux, you could do what I did, use Ubuntu Server and configure it yourself. Don’t want to mess with Linux? There is Roon Server software application available for Mac OS, Windows and QNAP NAS.

What Are The Downsides?

Well, first of all, it’s quite expensive. Also, the iOS playback app sometimes misbehaves. Simply quitting it and restarting fixes that. The Mac OS, Windows and Raspberry Pi software, including the server, are rocksteady. If you are interested in music and value quality playback, this is it. There are cheaper setups available, a lot of them for free, but none of them is quite as polished as Roon.

Internet Radio

As of now, there’s only rudimentary support for internet radio. This is something that Roon Labs are working on, so it will be improved in subsequent updates.

Summary

Listening to music and have all the information available at your fingertips makes music listening so much more fun. A clean and easy to use interface also helps. When my yearly subscription is up for renewal, I will buy the lifetime licence.