Roon Architecture

Architecture

Roon has an architecture that is slightly different than what you might be used to. It would first be most helpful to read the pretty marketing material on this, as it is the most helpful in getting the basic concepts down.

After reading the above-mentioned page, you should know that there are three main components in the Roon architecture: Roon Server, Control, and Output.

Roon Server

Roon Server is the brain of the system. It manages the control and output components, and keeps track of the content in your music library. The server is responsible for:
  1. Managing your digital music library
    1. Discovering your music files
    2. Noticing when music files are added, deleted, or modified in real-time
    3. Extracting Metadata Tags from your music files
    4. Background analysis of your audio content
    5. Identifying your music files so we can improve your library with artwork, credits, reviews, and other enhanced metadata. 
    6. Keeping metadata up to date as new information becomes available and features are added.
  2. Managing playback to audio outputs (see below) 
    1. Managing a play queue and a set of controls for each Zone
    2. Managing output to multiple Zones, including synchronized playback 
    3. Retrieving audio from files or internet services and decoding it to PCM or DSD
    4. Streaming PCM or DSD audio to outputs
  3. Driving one or more controls (see below) 
    1. Serving data to controls, whether they are local or networked
    2. Responding to requests from controls
    3. Providing a synchronized experience across multiple controls
  4. Other stuff 
    1. Handling software updates

 For more information about why Roon Server is such an important part of Roon's architecture, see here: Why Roon Server?

Control

Roon's rich user interface runs on Windows, OS X or macOS, Android, and Apple iOS. Roon develops the control software for all platforms out of a single code-base. This is deeply important to our ability to deliver an extremely rich experience across many hardware and software platforms. If we built the app the traditional way–by developing a separate app for each platform, they would soon diverge in behavior, and some would inevitably lag behind. Instead, we chose to invest in infrastructure upfront, and do things differently. This choice enables us to deliver richer functionality in less time while providing a more consistent experience across the multiple platforms that Roon supports. The network protocol that the server and control use to communicate is also intensively engineered. Our control infrastructure is designed carefully to work identically whether you are sitting in front of a computer running Roon, or whether you are using another device on your network. It works just as well if you have one control or a dozen. Data on different controls stay synchronized in real-time. There's no lag, and we never let you see stale data. These details may seem abstract from where you're sitting, but these ground-up architecture choices act together to produce an unparalleled multi-device experience.

Output

Outputs are devices that make noise. Roon is built from the ground up to run a multi-room audio system. Whether you have one output or a dozen or more, we have you covered. Our playback engine is built for audiophile quality playback of standard and high-resolution audio content to a wide variety of output devices. Our RAAT streaming technology moves bit-perfect streams to Roon Ready networked devices and outputs connected to devices running Roon, Roon Server, or Roon Bridge. Roon supports many different kinds of output devices, including:
  1. Roon Ready Networked devices
  2. Connected outputs, including USB DACs, sound cards, and built-in outputs
  3. AirPlay devices 
  4. Logitech's Squeezebox devices
  5. Meridian Audio's networked endpoints
  6. HQPlayer
 For a more comprehensive view of our output support, try clicking on each of the manufacturer logos you see here: Partner Devices page.

    • Related Articles

    • MUSE - Precision Audio Control

      MUSE - Precision Audio Control (DSP) gives you tools that can potentially create loud or damaging sounds. Begin by experimenting at low volume levels until you are confident that your settings produce the desired effect. If you experience unwanted ...
    • Why can't Roon Remote Connect?

      If you’re running Roon in remote mode and having problems connecting, here are some troubleshooting steps to get you going. Firewall Roon should be able to connect with your firewall enabled, but some users have reported issues that we’ve traced to ...
    • Roon Server and Remote specification recommendations

      Recommended Server Hardware Roon Server is the heart of your library. The hardware needed for your server machine can vary based on a number of factors, such as library size, number of simultaneous zones, and DSP use. Run it on Mac, Windows, Linux, ...
    • Roon Optimized Core Kit

      Let's first explain what Roon OS is, and then we can talk about Roon Optimized Core Kit. Roon OS is a custom Linux based operating system, tailored for running Roon Server and providing a best-in-class, appliance-type user experience. Roon OS boots ...
    • FAQ: Which zones can I control remotely?

      What kinds of outputs can I control remotely in Roon? You can use Roon to remotely control anyzone, including: Outputs connected to your Roon Server Outputs connected to devices or computers that are running Roon as a remote Outputs connected to ...
    Visit the Roon Community!
    Need help? Thousands of Roon subscribers and audio enthusiasts are chatting over on our community site right now, join them! You don't even need a Roon subscription to sign up.