# Why 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** components, see the [[Architecture]] overview.) When we emphasize that Roon requires a **Core**, we do so because it is important to draw a distinction between Roon and some other systems... Some systems run "in the cloud" like Spotify and Google Music. Others are comprised of several de-centralized components with no central "brain" like UPnP, DNLA, and OpenHome. Many more have a "Core" just like Roon, including iTunes, JRiver, and Logitech Media Server, but it is important to understand this architecture in order to understand the things that Roon can do for you. ## Why does Roon require a Core? Roon has a Core because it allows us to make the best product possible. When buying audio equipment, you expect the manufacturer to use and apply the best engineering, technology, and materials available to them. By organizing our architecture around a central core running on a powerful machine, Roon does the same thing in the software space. There are as many product architectures as there are products, and each has its own advantages and compromises. The main compromise associated with Core-based architecture is the cost of having an "extra" component. The great thing about “compromising” on this cost is that it keeps a host of other compromises away from all other elements of the user experience. The decision to require a Core is a more expensive approach, but it allows us to deliver more value, so we don’t view the cost as a real compromise--it is just a reflection of value we place on providing the best user experience possible. Here are some of the ways the Core improves your user experience... ## Superior Library Management Our approach to library management enables data-intensive features such as the incredibly rich links and information from which the browser is generated, as well as Radio and Discover. Roon's library management is based around an object database. This means that instead of storing data in the traditional tabular form, we model your music as a web of interconnected entities and their relationships to one another. For a typical music library, Roon is tracking millions of objects--everything from tracks and albums to works, performances, labels, genres, credits, and a dozen other kinds-of-things. **Modern CPUs, generous memory allotments, and modern solid state disks are enabling technologies for software like Roon. ** Together, they allow us to keep your library "live", and continuously ready for browsing and playback. They enable us to perform complex queries that would be impractical for a traditionally architected application, and they let us perform background processing on your music library in order to continually improve the user experience. Many core-less systems shoehorn library management into a low-cost embedded processor that already exists within the system (typically, these are about as powerful as a 3-5 year old cell phone). Roon would not be able to do what it does within those constraints. ## Audio Gear In Its Own Space [[Roon Advanced Audio Transport|RAAT]], the technology behind Roon Ready devices, is our network-based audio streaming technology. RAAT does many things, but most importantly, it separates audio output from the CPU intensive, bus-interrupting, electrically noisy activities of computer audio like managing the play queue, decoding audio streams, talking to music services online, and communicating with the various devices on your network. This architecture means that the core can be much more powerful while having no impact on your audio performance. You wouldn't put a quad-core Intel i7 CPU with a big noisy CPU fan into the same box as an analog amplifier, right? Of course not. Roon's Core can be completely separated from the audio gear without compromises in functionality on either end. Buy that noisy i7, tuck it in a closet far away from the listening area, provide it with power and network connectivity, and forget about it. While the centralized Core does the heavy lifting, audio devices can be simpler, lighter-weight, more reliable, and less electrically noisy. ## Content/Hardware Compatibility It is very important that all content in Roon can be played on any device that Roon supports. The Core is instrumental in ensuring that this is possible, and that it will stay that way for the foreseeable future. Sometimes this requires expensive digital signal processing, like when we convert a DSD256 file into a CD-quality stream for playback on an AirPlay device in a secondary listening room. Other times, playing content requires business relationships to be in place--like the agreement that allows us to play authenticated TIDAL streams. By centralizing these concerns in Roon's Core, we ensure that endpoint manufacturers don't need to do this work, or make these relationships, one by one. This enables hardware manufacturers to focus on what they do best, while we handle the variety of file formats, delivery mechanisms, and licensing schemes. ## Looking towards the future... By building the system around a powerful Core, separate from Control and Output functions, you are setting yourself up for the best experience now and in the future. Roon isn't standing still. The product changes, improves, and grows on a constant basis as we are always working on new ways to utilize your Core to its maximum potential. And as new file- types, streaming services, and new options arrive in the audio marketplace, we will want to embrace them. Over time, this will mean new features, more data-intensive features, more applications for background processing of your library, more advanced digital signal processing features, and a richer data model for your music library. And over time, this will mean you will need more computing power. The last thing anyone wants is for "the slowest devices out there" to hold back the growth of Roon as a whole, or for you to be forced into replacing a component that is still fine (your DAC or amp, for example) to add computing horsepower for new Roon features. Separating the Core from Control and Output components gives you the most freedom and flexibility going forward. ## Why not decentralize the Core? You and your family should be able to take full advantage of the merits of networked audio. This means that Roon will need to serve audio devices in multiple rooms while being controlled by many control devices throughout the home. It also means that a Roon system must be incrementally expandable over time. Decentralized systems require that each control point and output take on some of the duties that our core performs. In the case of audio endpoints, these duties often include audio decoding, digital signal processing, play-queue management, and sometimes even aspects of library management. Control points often become deeply involved in library management, and are sometimes even pressed into service decoding or processing audio. Systems that weigh down their audio devices with server duties require audio devices to be more costly, and often place powerful CPUs right next to to delicate audio circuitry. Not only do you end up paying for that increased complexity each time you add a zone to the system, this sort of architecture encourages sound quality compromises. Systems that place too much responsibility on their control points frequently have trouble keeping views in sync across multiple control devices, and sometimes even stop the music when your phone drops off of the WiFi network or runs out of batteries. Decentralized systems also have no good place to perform background processing on your library or maintain a rich metadata database, so they casually omit any functionality that would require those things. Roon’s architecture espouses a clear separation of concerns. Audio devices can be lightweight and focused only on audio playback. Control points need only display a user interface during the period of time when they’re being used. And compute-intensive library-management and audio-processing duties can be centralized on a powerful Core elsewhere in your home. ## Why not just put the Core in the Cloud? The cloud just isn't there yet! It's getting closer with every year, and we fully expect the balance to tip at some point. Roon is prepared to evolve accordingly when that happens, but we also need to make products that work today. Today, high-resolution music is still too bandwidth-intensive for many internet connections, and the costs associated with storing a large lossless or high-resolution music library in the cloud are arduous. Streaming services may eventually address some of those limitations, but even for those who are willing to use them, the hybrid library- local and streaming content combined- is the norm. Today's streaming services are missing huge swaths of content, and still do not deliver that content in the highest quality possible, so this will likely be the norm for some time. A high-performance Core in your home opens up exciting possibilities for the product that would be too costly to build in the cloud--it's simply much less expensive to put a powerful machine in your home to run Roon than it would be to rent the same machine from a data center on an ongoing basis. ## Any Questions? Come on over to our [community site](https://community.roonlabs.com) and ask. We are famously open to discussing our product.
Page last changed Tue Oct 16 2018