Genre Groomers...Help!

We are hard at work on improvements that will make Roon friendlier to people with pre-groomed collections, and more democratic about metadata in general. One of the last pieces that still remains to be addressed is Roon’s handling of genres.

Genres are a considerable pain point for many. I’m going to be talking about “our plan”, but I’m using that term loosely. The plan isn’t firm yet. It’s more of a working draft. From here on out, I will to refer to genre assignments from ID3,Vorbis,etc tags as Local Genres. and genre assignments that Roon provides as Roon Genres.

I’m going to start by going over some of Roon’s shortcomings with regard to genres today:

  • Roon’s genre hierarchy comes from Rovi/AllMusic and it’s reasonable to disagree with how they have organized the genres, or how they have assigned genres to albums and artists.
  • Unidentified content does not have genres at all in Roon.
  • Many people have manually groomed their files with genre tags and want to use them.
  • Genre assignments roil peoples’ emotions in ways that other editorial metadata (like reviews) do not, and we are currently offering no flexibility in this area. I’ll admit to being surprised at how upset people can become when they see genre assignments that they perceive as inappropriate. Nonetheless, we get it. You care. We need to do something about it.

Incorporating local genres into the Roon hierarchy seems like a good move, since the alternative is a segregationist approach that creates two side-by-side systems that are separate but not-quite-equal, duplicate copies of “Jazz”, and so forth. This means:

  • Roon Genres and Local Genres are organized in the same hierarchy. “Jazz” means “Jazz” no matter where it came from.
  • Users are able to re-arrange the genre hierarchy as they see fit, so the Roon hierarchy is basically a suggestion/starting point, not a royal decree.
  • Local genres that don’t match up with Roon genres go into a special node in the genre hierarchy called “Uncategorized” until the user puts them somewhere more apt.

It’s pretty clear that genre assignments need to be editable. This means that you’d be able to add or remove genres from albums and artists. I don’t think there will be much controversy on this point. Roon should keep separate lists of local genre assignments, Roon genre assignments, and changes to genre assignments that arose via manual editing. This is both fully non-destructive/intent preserving, and allows us to treat them differently.

We don’t think the default experience should include local genres. For people without groomed genres, they will make the experience worse because in non-groomed collections, local genre tags are a complete mess. The current plan includes a setting that defaults to off, called “Show Local Genres”. When the setting is enabled, it causes local genres to show up alongside Roon genres on the album details screen.

Ok, those were the parts that I’m feeling pretty confident about. Lets get to the stuff where I’m less certain:

  • If you have “Metal” as a Local Genre, and we have “Heavy Metal” as a Roon Genre, those are treated as separate entities, even though they are semantically equivalent. Maybe we need some kind of user-defined mapping so that local genres can be re-written on the way in?
  • Since genres are identified by their names, there’s no such thing as “renaming” or “merging” genres. Semantically, in order to “rename” a genre, you would go to each album and change the reference from “Metal” to “Heavy Metal”. If this were a high-traffic use case, it could become a batch edit operation. This is how file tags work, so it seems like a reasonable place to be when supporting use cases that come from that world, but it still feels a little bit weird to us.
  • No-one (to my knowledge) has asked for a way to hide/disable Roon genres as a blanket choice, but we have considered having two switches: show/hide local genres, show/hide roon genres. If you flip both to off, then you start with a blank slate and only see genres that were added using Roon’s editing functionality. Otherwise, you see what you have chosen to see. I don’t like the slippery slope of disabling major product features as a solution to problems, but putting this one out there for feedback.

We’re interested to hear any thoughts you guys have on this topic. We want to make sure that the effort we are putting into this actually solves the real problems.

@danny, @mike, @jeremiah, @AndersVinberg, @audiomuze, @trtlrock, @o0OBillO0o, @Machine, @extracampine, you guys might be especially interested in this discussion.

3 Likes

One immediate question springs to mind – is the forthcoming revert-to-local-meta process going to be able to differentiate based on folder location? For instance, I don’t want any meta reverted for my classical stuff, but want global reversion on my pop/rock stuff (currently in different main folders).

I’m posing the question here as some Roon users might have folders with genres they have defined, groomed & prefer, and other folders where they would welcome Roon’s intelligently-derived genre as either a starting point or a finished presentation.

Another related question would be having different genres on a track-by-track basis. So, on Help!, Act Naturally might be Country and Day Tripper might be Pop-Rock. If this capability is not imminently on the roadmap, what about future possibilities?

^^ This is definitely me, so I’d look forward to non-local genre on my non-reverted classical folder; and non-local (smart-Roon) genres for my otherwise-reverted pop/rock folder.

Nothing else useful to offer here, other than general or total agreement with all of Brian’s post.

A tricky topic. For example, to me, Metal and Heavy Metal are two different genres.

One immediate question springs to mind – is the forthcoming revert-to-local-meta process going to be able to differentiate based on folder location? For instance, I don’t want any meta reverted for my classical stuff, but want global reversion on my pop/rock stuff (currently in different main folders).

The prefer local stuff is an edit, not a setting. So you would do a focus by storage location, pick your pop/rock folder, select all, and then change the behavior for those albums as a group.

Another related question would be having different genres on a track-by-track basis. So, on Help!, Act Naturally might be Country and Day Tripper might be Pop-Rock. If this capability is not imminently on the roadmap, what about future possibilities?

It’s not in the roadmap, but it’s not unimaginable that we could do something here in the future.

A tricky topic. For example, to me, Metal and Heavy Metal are two different genres.

Pre-launch, our plan was to try to munge genre tags into our genre hierarchy by making a giant list of mappings and baking them into the app. I killed this project because of these kinds of differences in opinion. We have to avoid touching Local Genres (unless the user tells us how) if this is going to work.

And if I then reset the focus (to look at all folders, let’s say), would the behavior of the albums that I had just changed (pop/rock folder) stay changed? Or revert to the earlier Roon-default view?

It would stay changed.

Hmm, maybe I’m stupid today, but I don’t quite get it. You say “Roon should keep separate lists of local genre assignments, Roon genre assignments, and changes to genre assignments that arose via manual editing” and that sounds to me as if there are really three genre categories, “local” created by the metadata sources, “Roon” created by you guys, and “manual editing” created by me, the user. Correct?

So where do the Roon genres come from? Sounds as if you are getting into the curating business, for which you have previously expressed strong distaste. Two possible steps: one is that you guys create a reasonable genre hierarchy and then manually define the mapping to/from Rovi genres – this would be a tractable task even though it is a form of curating. The next step would be you guys allocating genres to albums – that can’t be what you intend, can it?

Btw, I just read an interesting article discussing the issue of curating vs algorithms. Ben Thompson is a very smart analyst, writes Stratechery. You may enjoy this: go through the detailed discussion of Apple’s curated music service, and he discusses how Google and Facebook can’t curate and have to use algorithms but for opposite reasons; he finally draws a diagram to identify where curating makes sense.

Wrt the user interface, I would strongly urge you to make the default behavior reasonable for ungroomed collections. It is easy to be drawn into the views of us enthusiasts, but you have to appear intelligent to ordinary people.

So if “Rovi genres” forms a good hierarchy with broad applicability, then sure hide the “local” genres by default. But it can’t come up empty.

Btw, I don’t think “local” is a good description. Those Rovi genres are not local, they come from a remote source.

So back to the proposal. You surprised me with the idea of Roon providing genre classifications and I can’t quite comment until I understand better what you intend to do.

But if you do that, and align them with Rovi as best you can; and show yours by default; and allow the user to manually

  1. Alter the genre hierarchy, both adding new genres and altering the relationships
  2. Reclassify individual albums
    that seems reasonable.

Seems to me you have to think through the relationship with tags – as I discussed recently, I use tags to define groups, not specify characteristics. So is “Swedish-Asian-folk-chamber-jazz” (see Lena Willemark’s Windogur) a user-defined group using tags, or is it a custom genre? If we think the difference is not important, does that render tags obsolete? I don’t think so, but how do we describe the difference?

Oops, forgot the link to the Stratechery blog on curating vs. algorithms:

https://stratechery.com/2015/curation-and-algorithms/

The draft as you’ve described it would work very well for me.

Hmm, maybe I’m stupid today, but I don’t quite get it. You say “Roon should keep separate lists of local genre assignments, Roon genre assignments, and changes to genre assignments that arose via manual editing” and that sounds to me as if there are really three genre categories, “local” created by the metadata sources, “Roon” created by you guys, and “manual editing” created by me, the user. Correct?

The genres are in one namespace. The album->genre associations are what are broken into three lists. I’m just describing how we accomplish non-destructive/intent-preserving editing very explicitly.

The idea of preserving user intent instead of results is one of the most important advances that happened between Sooloos and Roon. By focusing on persisting the actions that the user took instead of the fully realized results of those actions, we end up with a system that can evolve reasonably, since we know what the user asked us to do.

Sooloos doesn’t know the difference between data that came from Rovi and data that came from user edits. It’s really crippling.

So where do the Roon genres come from?

Rovi. If we incorporate future data sources, we would make an effort to map their genres onto Rovi’s hierarchy. This is technically curation, but mapping a list of a few hundred genres is the kind of curation that one person can do in an afternoon, so it is less offensive.

Sounds as if you are getting into the curating business, for which you have previously expressed strong distaste.

Thankfully, no.

So back to the proposal. You surprised me with the idea of Roon providing genre classifications and I can’t quite comment until I understand better what you intend to do.

My explanation was strongly focused on metadata groomers, so I was describing our current behavior very explicitly. Rovi Genres == Roon Genres (today).

But if you do that, and align them with Rovi as best you can; and show yours by default; and allow the user to manually

  1. Alter the genre hierarchy, both adding new genres and altering the relationships
  2. Reclassify individual albums
    that seems reasonable.

Good. That is what I am proposing.

Seems to me you have to think through the relationship with tags – as I discussed recently, I use tags to define groups, not specify characteristics. So is “Swedish-Asian-folk-chamber-jazz” (see Lena Willemark’s Windogur) a user-defined group using tags, or is it a custom genre? If we think the difference is not important, does that render tags obsolete? I don’t think so, but how do we describe the difference?

This is an interesting question.

The problem with the word genre is that it’s subject to legacy considerations. People are emotionally attached to it, and have many pre-existing expectations.

I was tempted to rename “Roon genres” to “styles” and let the groomers have the word “genre”. This would result in the “separate but (not quite) equal” scenario I mentioned above, which is not ideal, but it was a consideration.

Ultimately, the meaning of “genre” ranges from “one of 12 commonly understood high-level genres like Rock, Jazz, Electronica” to “one of 900 styles of music” (roughly Rovi’s definition) to “a place where I can invent my own duey decimal system for music”–which is what many grooming-focused people have done. It’s an area of the product that can never be completely devoid of legacy expectations. Some people have embedded hierarchy in the genre tags themselves, like encoding “Rock -> Hard Rock -> Heavy Metal” into each genre field, too.

Tags are nice because they’re basically a blank slate where we can make the rules, within reason. Pre-existing music software doesn’t generally have them, despite their popularity in other domains.

So–for defining groupings, I would stick to tags. Tags are a place where we have lots of room to evolve, and genres are subject to legacy considerations. Also, if you’re sticking to automatic behavior and not getting into this grooming business, genres are mapped by editor and tags are personal.

So, should tags have hierarchy? Should tag hierarchies be namespaced? Maybe. There’s nothing really preventing us from going there, and I think user-driven classification could be very interesting.

Something we haven’t done (but maybe we should…) is incorporating tag-based groupings into our automatic systems (focus on similar + radio). Radio would be way cooler for you if it could treat your groupings as related items.

I disagree, “Metal” is just a short form for “Heavy Metal” I’m fine with either as the main genre heading Roon wants to use. Personally I use “Metal” in my main tag and some albums I tag into sub-genre for certain bands such as “Sludge Metal”, “Stoner Metal”, “Doom Metal”, “Progressive Metal”.

Rugby, just curious as to why you consider them different genres and what makes them different to you? If you can give me some examples of bands that fall into either, I’d like to hear your thoughts on the differences.

Wrt the user interface, I would strongly urge you to make the default behavior reasonable for ungroomed collections. It is easy to be drawn into the views of us enthusiasts, but you have to appear intelligent to ordinary people.

Yes, I’m taking this for granted. In this case it’s really easy. Checking off a checkbox in settings is no burden for someone willing to spend hours editing metadata by hand.

So if “Rovi genres” forms a good hierarchy with broad applicability, then sure hide the “local” genres by default. But it can’t come up empty.

Yup.

@brian in general I’m in agreement with everything you’ve said in your opening post. In the early years of allmusic.com (prior to its first sale) I felt that their genre/ style metadata was pretty accurate. Roll forward a few changes of ownership and the original ethos that drove it appears to have been lost, and it shows in the quality/ consistency of the editorial content.

This makes the idea of a mapping table incorporating rearranging of the hierarchy coupled with the ability to turn off/on Roon and user/tag provided metadata a good one as it will enable a groomer to organise things how they see fit whilst also providing a reasonable schema for users that have not previously groomed their data nor have any desire to do so.

It may also be useful to link artists to genre(s) as a useful starting point for dealing with albums by an artist where the album does not appear in your metadata sources.

Having all this metadata at ones disposal these makes the ability to incorporate and/or conditions in filtering operations key if any benefit is to be derived.

This one is a tough topic. Here are my comments.

I am fine with this as long as I can focus on uncategorized genres. Then batch associate which local genres fall under what Roon genres.

I think the point here is “What does the Genre do for the user in Roon?”

If I had to take stab at it, genres allows to keep radio recommendations and artist relations less random.

This is good, if it allows to connect the user to more music or further segment a piece of music. AMG/Rovi might not know that you think certain genres are connected, but this will allow Roon to know this by way of the user. User defines Metal = Heavy Metal.

This comes down to Roon really being heavy handed about the genre hierarchy. That’s not to say that certain text strings can be aliases. Heavy Metal = Metal. You may find yourselves being very doctrinal and absolute. However if you allow for some flexibility with the design of the hierarchy you may find a win.

Here is my suggestion. Make tree hierarchy map that can be user manipulated (AND RESET!). Data collect this arrangement and find out what users are mapping vs what ROVI/AMG/Roon decrees. (You could publish a study of genre associations.) Of course all those unmatched genres you will have to ask the user to place them where they need to be. Make it object oriented and I think you may win here. Start with the big ones and let it spread downward, some sub genres connect to other large genre families.

Side note: Ever check out Boil the Frog? (You make know the trick of put a frog in boiling water it jumps out, but slowly heat the temps to boiling at the Frog turns into Frog stew!) Well, this relates to how would you get from one genre to another? There are simple genre crossover and connections. This may help listeners approach new artist (or new to them) via using the approach of genres they are familiar with.

Say you like Pantera and want to get into Failure? http://static.echonest.com/frog/?src=Pantera&dest=Failure

Or you like Pantera and want to get into Brahms? http://static.echonest.com/frog/?src=Pantera&dest=Brahms

I see Roon taking on this capability with it’s robust genres and genre hierarchy.

Worth having the On/Off switch- ie. don’t touch my genre mapping, but for those who are willing to get more granular or experiment- they might find themselves leaving it on.

Conclusion:
Re-stated, genres are important for developing relationships in lieu of lyrics, personalities and collaborations. As long a genre is defined and connected to the genre hierarchy I think we would all benefit from these relationships.

I suppose another big question related to this is will Tidal albums be editable in terms of local genre? In fact, does Tidal music added to my library already have a pre-defined genre from Tidal or from Roon Genre?

I suppose another big question related to this is will Tidal albums be editable in terms of local genre?

You would be able to use the editing functionality to add genres to TIDAL albums within Roon.

In fact, does Tidal music added to my library already have a pre-defined genre from Tidal or from Roon Genre?

TIDAL albums will have no Local Genres by default, only Roon genres.

I only have 2 Genres Good and Bad … what should I do ?

2 Likes