I don't think there's a one fit all solution, but it should be possible to make a system that could work much better than todays system. Several years ago I started the task of rating my then 15 000 tracks (now up to 20 000). I had a goal of 200+ each day. Usually I just skipped to 3-6 positions in the track to see if I remembered it or if I thought it sounded cool or not. I rated them like this:
1 - Intros and other crap - To mark things that should never be listened to. In some cases filtered away from play lists
2 - Music that I do NOT like - Others might still select it if they like the artist
3 - Music that I do not care about - Might be the favorite track of a not highly liked artist
4 - Music I might like to hear in the future. My explore category.
5 - Good music
6 - Instant hits and classics
Hence my years long fight of introducing the half star rating system like in iTunes, so I could get rid of my 6 number system custom fields.
In addition to rating tracks, I also started rating artists and albums with relational fields. Artists was fast. I just rated my all time favorites 6 and downwards from that. Album ratings was based on a perception of how good the album was. It got a 6 if most of the tracks was really good, even though it could have a 2-3 really low ratings. Now, I will probably look into getting the average sum of the albums instead. But after the track ratings are done, this is really fast to do anyway.
After the rating tagging was done, I started researching genres. I found the originating genres, how was sub genres of what main genre category, and I wrote it all down how it was connected. Sure, this is also based on personal opinions, and there's no consensus on what genre each artists or album belongs to. But I tried my best. I ended up with about 15 genres and 120 sub genres. Those Genre and Sub Genres is applied on a pr album basis. I did not have the stomach for another track based tagging.
The result was very good. I could create a lot of cool smartlists based on my exploratory mood. I could specify the genre and add 4 star ratings and discover new music. I could add the Electronica sub genre with only 5-6 ratings with low BPM values for a consistent low beat Electronic playlist with smooth easy listening tunes and so forth.
After I had tagged my musig with ratings and genres, each album added was pretty trivial. Ratings are based on personal taste. So I think it will be almost impossible to have a system for this. But genre are more static. I started thinking of what COULD be agreed upon and put in system. What I missed mostly with my system, was a way to say that "Today I'm very psyched. I want very high energy music while I do some preparations for a party". Or "I'm feeling a bit down now, let me hear some easy listening nuts while I'm browsing the web on my couch". Or the "I'm going for a jogging workout. I need some fast cool music with beats". Such things are called moods or styles. Some sites have plenty of such tags. The problem having to much of them is that nobody will agree on what mood or style a track should be categorized with.
That evening I started a project in Visual Studio. I created a VB plug-in, web service and a database for styles and moods. It was a bit to ambitious for a person with IT bachelor degree with little programming knowledge. The project got to a halt (I just had a lot on my plate, and now it might be to late to pick it up again), but the goal was a good one imo. Something similar might be done by JRiver, so all of us can benefit from such a system. Here's the link to my grounded beta project:
http://yabb.jriver.com/interact/index.php?topic=42293.0What I tried to do was to set a few basic Moods, Styles and similar tags, which the users could tag their own tracks and store in custom fields. The server part (not developed yet) of the plug-in together with the database was supposed to gather the uploads from the users. The server application should work on a schedule to scan for similar Artists and Track names, and then check for similarities in tags. A couple of examples: If 4 users marked it as "Funky" and 1 person tagged it as "Relaxing", it would be marked as "Funky". Similar for Speed or Bass tags. It would be set to the highest number of votes, or set to a middle value, if there was a lot of disagreement. When enough persons upload data for the same tunes, it would eventually be possible to download tracks with some pretty accurate tags. IF enough people used it. There are so many audiophiles using JRiver MC, so I think that should be possible.
Is this the perfect system for such a task? No, probably not. But the idea is in my opinion rather good. If JRiver was to create something similar, with a bit limited values (not in the hundreds like some of those crazy web sites), it would be possible for users to get reliable tag data for their music, and help others getting more out of their music collection. What we need is a programmer to jump to the task, a database, and some moods, styles and other tags we could all agree on covering most of it, without it being to much.
Thanks for reading my wall of text