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 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 up front, 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

    • Starting with Roon Server

      What is Roon Server? Roon Server is media server software that runs on a powerful computer, NAS, or turnkey appliance (like Nucleus or ROCK), located on the network within your home. (For more information on how it fits in with Control and Output ...
    • 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 ...
    • Roon Server on NAS

      Roon Server requires a more powerful processor than most media servers due to our architecture. Historically, most NAS devices have not been powerful enough to deliver a first-class experience with Roon, but an increasing number are becoming capable. ...
    • Roon Hardware 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. You can run Roon Server on Mac, ...
    • Getting started with Roon

      Overview You'll find everything you need to know about getting started with Roon below. Whether you're hearing about Roon for the first time or just downloaded Roon and need help with the next steps, this article breaks down all you need to know and ...
    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.