What is optimal classical metadata structure for Roon?

But if you’e doing all the heavy lifting, and tag grooming, then what is the point of the very expensive Roon software at all? Why not continue to use JRiver, or in my case, the free-of-cost MinimServer?

Valid point - I guess it is a personal decision after all about what you are willing to pay for. If you follow JRIver with annual updates you will also pay quite some money. Around 100$/year for a piece of good software is not too much IMHO - we are living in a world where everybody seems to expect software to be free.
I can tag all that I want and need with JRiver, but I can’t display it the way I’d like, i.e. having reviews on a album page or having artist biographies I can jump to by clicking on a link etc. etc.

I do like the look and feel of Roon and I am willing to invest in this by subscribing to it. On the other hand I certainly will keep my tags maintainedin the future anyway, because I do not want to rely on a software that offers non-persistent metadata.
If Roon would ever go out of business I would have a terribly quality in my file tags left. Having groomed my metadata over several years it is still more effective for me to keep maintaining it incrementally.
Having said that, I do trust that saving data in file tags is more future-proof than solely relying on a 3rd party software to provide the data I need.

So I will not change my behaviour regarding tag maintenance considerably, but I’d be willing to pay for a nice representation of my data even without 3rd party metadata - but that’s my personal decision and you’ll have to make yours.

Regards
Klaus

4 Likes

First I would like to second @Klaus_Kammerer1’s posting above. Roon is an absolutely superb software and for me it opens up a whole now world of access to my music collection as well as to my zoo of audio devices in my house!

Since with classical music I also noticed some stupid misallocations with composer vs. performer roles I wrote a posting in another thread suggesting some small changes in the Roon metadata engine.
You’ll find it here:

What do you think? And is there anybody at roonlabs who would comment on this under a developer’s view? ;).

Thanks for your perspective. That is a very good point, that even embracing Roon should not mean we stop tag grooming, as we should be defensive and guard against getting locked into any particular vendor’s ecosystem.

This also makes the effort of tag grooming much more worthwhile.

It’s given me something to think about. I appreciate that.

Regards,
Rajiv

Is perhaps much of this discussion founded on the fact that many of us have carefully curated tags that don’t match what Roon wants, but on the other hand much of what Roon wants is present? “Artist” used for “Composer”, composer name as “lastName, FirstName (dates)”. and so forth. Roon reads file tags, uses them in its database, and in the process, assumes a number of things, such as composer name is “FirstName LastName”. Modifying one’s files to fit Roon is for many a non-starter.

As Roon scans each data file, there is an implicit transformtion of the track’s fileTags into Roon’s databaseTags. It’s probably this, in pseudo-code (though how well this fits the actual Roon software I of course don’t know).

Tags mapping (Tags fileTags)
     Tags dataBase = fileTags  //simple identity mapping; file tags unchanged
     return dataBase

That is, what the database gets is what the files deliver. Why can’t this be made explicit? Then the user can simply replace this code with his/her own. That code, written in some scripting language, could do just general things, as in

    dataBase["Composer"] = fileTags["Artist"]  // move artist field to composer
    dataBase["Artist"] = "" // artist field is then blank

or, this (a little too careless about spaces):

composer = fileTags["Composer"]  // map "lastName, firstName" to "FirstName LastName"
comma = index(composer, ",")
dataBase["Composer"] = composer[comma+1, ] + " " + composer[0,comma-1]

All of this code might be in subroutines called only if the “genre” tag is “classical”. Or code can be specific down to the track, if the user wanted to go to that trouble. The nice aspect of this scheme is that the user’s files are untouched, and Roon gets fed the data that it wants. There are all the details that probably make this harder than it looks: making the mapping explicit, handling errors in the script, user testing, etc. The scripting is likely pretty easy and users will come up with some general mappings that others can incorporate with a simple copy and paste. If something like Python (my favorite) were used, there are books and tutorials aplenty for those with difficult problems.

Roon can’t cater to every individual nor should the users be asked to cater all that much to Roon. Why not give us a simple tool that allows each of us to map our libraries to Roon?

Thank you. I could not put it so well, but you capture my intended message precisely.

I did in fact go to some lengths in JRiver to populate the Composer, Conductor and Orchestra (maybe a different name, I don’t recall) fields in a totally consistent way BEFORE I even installed Roon, so was greatly dismayed when after installing Roon I did not get an equally consistent outcome.

I think it was largely due to most of the Classical folders not being recognized, but it was a dispiriting mess, especially as it was contrary to my expectation at the time.

That was 1.2. Since then I have established recognition of many of the folders and 1.3 has taken some steps towards what is needed, but until I can fully map the tags to Roon, it will never have the consistency that the tagged data would allow.

It did not stop me buying a lifetime membership, and I cannot imagine going back to JRiver for music, but it does mean that I live in hope that one day Roon can have the benefits of JRiver while maintaining all the quite additional benefits Roon brings.

This also extends to simple things like non-destructive Play queues and multiple options for the type of Play Next being available. The functionality of JRiver is largely exemplary, but its overall experience delivery is not even a competitor to what Roon already does, and will I am sure do even better as it develops…

1 Like