Hard to pinpoint the exact cause, RoonAppliance now utilizes ~120 execution threads and ~1.5Gb memory, and yes there is an increase in network activity.
With that said, the question is how relevant it all is as it still only occupies ~3% of the Extreme’s memory capacity with a below 0.2% CPU load during music playback. Couple that to a now virtually identical sound from the ~0.3Gb / 5 threads TAS application appears to make it more a matter of how the environment is configured.
I am slightly familiar with this and somehow possible if one is interested to have closer inspection on what constitutes RoonAppliance, part of that threads overload is due server side analytics, device discoverability, local database management, etc..
Many other things going on rather than just playback functionalities.
My question is beside network overload degrading to the overall server performance on audio playback, how much thread context switching to this degree is a penalising factor ?
Dear WBF community,
We are open to suggestions on how you would like your music browsing and discovery service experience implemented.
Let's start with some general background information. To be able to provide any browsing or discovery service beyond folder based browsing we need metadata. Metadata can be stored with files in something called a ID3 container. This includes information like artist, genre, label, song titles, album name and track numbers. For classical music this can become more expansive as there are can be a desire for additional information like the name of the piece(s) of music, the composer(s), the album it's from, the performers, the recording venue, the label that released the recording and the year it was recorded.
There are cloud based metadata providers who have build and maintain a database where they collect and provide all kinds of information on your files. As you can imagine this is a considerable task. Roon provides this service, you need a Roon subscription to access this and it's likely the biggest part of what they base their purchase price on. Data has become a valuable commodity. Music streaming services like Qobuz, Tidal, Spotify, Apple, Deezer, Amazon, Last.FM, etc provide this service as well. It's good to note that you are generally paying to access the metadata they have collected and organised for you. You are also "at their mercy" on what data they provide on a query to their databases (search). Most, if not all, of these also provide music discovery services extending beyond for example showing all albums released by a specific artist. This used to be based on generating recommendations based on music in the same genre and/or release period with similar popularity. Nowadays most music service providers have moved on to a tracking model where they base recommendations on the listening behaviour of others similar to your own behaviour (the questionable privacy invasion thing).
To sum up:
For music browsing we have the following options:
1) Folder based browsing, where you organise your music collection by maintaining a folder structure on your physical drive like \artist\album\track.
2) Database browsing where the database information is provided on ID3 (file based) information where you can be in control of your metadata if so desired, metadata is usually already included in your files by cd ripper software or by the online store where you purchased and downloaded your albums from.
3) Using a 3rd party tool which can replace the metadata of your files with metadata provided by their online database, works otherwise the same as 2)
4) Database browsing where metadata is fetched from an online metadata provider system, this is basically what you are doing when you are using online streaming services, though not when using Roon as they provide their own metadata even when using services like Qobuz and Tidal. This is probably why you sometimes can't find albums on Qobuz/Tidal when searching for them in Roon.
My own personal preference is for a hybrid system. I'd like to be "in charge" of the metadata of my own files. I'd like to use the metadata provided by online streaming services like Qobuz and Tidal for when I'm streaming files and I'd like to search directly in their own database. I would also like to be able to get additional information on the music I'm playing on demand, like reviews, background information, maybe on occasion even the songtext, for both my own library as for the streaming services I'm using. For music discovery I do not have very large issues with my privacy using a tracking based service, the best service for this seems to be Spotify btw, unfortunately they don't provide lossless music.
Feel free to share your own preferences, desires and/or wishes and we will take those into account.
This sounds great,
As there has been discussion on Roon being somewhat a performance bottleneck, and this being an implementation that would take care of various aspects that effect performance, I'd like to throw in some implementation ideas (Apologies if it gets technical):
I am overall skeptical about the local database approach, I am questioning wether that is a feature that is actually needed or just something to be thought to be a convenience a few years ago (Roon extends over a legacy Meridian system).
Chances are little that servers are not connected to the internet if not zero, hence user "databases" can potentially be stored and queried in the cloud offloading certain aspects (maybe not that significant) and making the overall architecture and implementation more simple (the local data is often obfuscated and de-obfuscated in case of Roon) and less heavy on the server end.
This as consequence can simplify and offload processing elements that are part of the server (referring to Roon) on the client side (resolving user library, query metadata and all sort of management) by interacting with the cloud and not the local server.
Getting rid of that network communication (big facepalm on server side analytics in this case) and cpu cycles on the server end.
A server just taking charge of a minimal set of responsibilities (if not just one), which is audio playback
, hence providing a common API for the client to play against a given playback system (Taiko Audio Player, HqPlayer, etc).
I believe Roon is a great data company, and their metadata and recommendation service to be excellent, and frankly not that easy to get right (I think by the day they have the best recommendation system, but I must confess I haven't checked Spotify in a few years and they have a lot of brain power in this domain) . In a perfect world they wold be a SAS company selling their metadata to third parties, but I guess that is part of vendor lockin in their platform.
Lots of Roon metadata is actually from open source datasets, as I am interested in this field my self (and in particular music recommendation) I am trying to figure out which degree of their metadata is actually proprietary.
Looking forward to see Taiko audio players in previous generation SGM devices soon