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: core, control, and output.

Core

The core is the brain of the system. It manages the control and output components, and keeps track of the content in your music library. The core 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 the core is such an important part of Roon's architecture, see here: Why Core?

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 core 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 a Roon core, 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 see here: Partner Devices Matrix

    • Related Articles

    • 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. Accept Remote Connections The first thing to confirm is that your main Roon install is set up to accept connections from ...
    • Start with a Roon Core

      What is the Core? The Core 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 ...
    • FAQ: Which zones can I control remotely?

      What kinds of outputs can I control remotely in Roon? You can use Roon to remotely control any zone, including: Outputs connected to your Roon Core Outputs connected to devices or computers that are running Roon as a remote Outputs connected to ...
    • 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 to host the Roon ...
    • FAQ: Can I import music from a remote?

      If you're running Roon Remote on Mac or PC, you can drag and drop music right into the app. Copies of the music you drag into Roon will be added to the Watched folder set up on your Roon Core.
    Ask the Roon Community
    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.



    Something you can't find?
    If you're still stuck, don't hesitate to let us know and we'll get back to you as soon as we can.