Bulk override of Roon metadata

We’re going to do things to make the system friendlier for people who groom metadata. We’ve designed some solutions, and many problems have yet to be solved. We will do this carefully, because the consequences of getting it wrong are severe.

It’s a really challenging problem because on one hand, your data is very clean, but on the other, it’s not very expressive. Getting your data into Roon too simplistically will limit your options with it long term. And, from where we’re sitting right now, importing it properly without compromising the expressive power of Roon’s data model seems like, at best, a daunting and very manual task.

I want to take an opportunity to explain some of the complexity, to help you understand what we’re up against, and how frustratingly in-expressive metadata tags can be.

Artist
Album Artist
Composer

These should be lists, not items, and should never contain a composite like “Miles Davis / John Coltrane”

Composers should be associated with compositions, not tracks or albums, and compositions spread across multiple tracks should be structured properly.

The other problem with these three is that human names aren’t unambiguous identifiers. There are two guys named “Miles Davis” (one of them is a bassist on a Kanye album, and one is the one you know), two named “Bill Evans” (one is a low-rent fusion saxophonist), two named “Avishai Cohen” (contemporaries in the nyc jazz scene), a half dozen groups called “Air” and so on and so forth. It’s a tricky problem to figure out how to map artist strings (especially composite artist strings) into meaningful artist identifiers that can distinguish people and groups that share a name.

Album
Title

No trouble here–it’s just display text. Whew!

Genre

Genres belong in a hierarchy. The way most file-oriented music software uses genre is closer to what we would call “tags”.

We have a genre hierarchy, but you may not agree with it, or you may find it incomplete, or you may disagree with how genres are assigned to albums or artists automatically.

If your genre system were the same as ours (or could be simply mapped), it would be trivial to import your genre assignments, but it probably isn’t.

Also, it’s likely that in your collection, genre is a track level field, whereas in our world, it’s an album and artist level concept–this creates further opportunities for ambiguity and friction.

Album Art (i.e. folder.jpg or embedded)

No trouble here.

Year

Roon has four separate year fields:

  • Recording Start Date
  • Recording End Date
  • Original Release Date
  • Release Date

When sorting by “date” we prefer original release date, then fall back through release date, recording end date, recording start date depending on what’s available. This ensures that “Kind Of Blue” is in 1957, and not in the year that it was remastered.

There’s a real question of what your “Year” field means–it probably doesn’t mean recording date, but does it mean original release date or release date? What about someone else’s metadata who groomed using different rules?

You’d probably expect to be able to sort by your “year” field, but it only may (or may not) represent an “original” release date.

Spectacular possibilities exist – but right now just feeling utterly frustrated & disappointed…

So here’s the problem. You created great clean data…in a system that’s really, really lacking in expressive power.

I understand that the first impulse is to say “just let me keep what I have”. A lot of people are going to say that, and will probably be frustrated as we carefully move towards that goal. The problem is–if we just did it in the simplest way possible, the product would lose most of its power in the process.

2 Likes