[ID3 Dev] How good is this song? Storing rating metadata

Wyatt trent.arms at gmail.com
Thu Jun 19 08:40:22 PDT 2008

"I've been thinking of building a new machine, but I have a problem..."

Users will always have some music that they like more that other music.
Knowing what of your large collection is better at a glance without actually
parsing the names of things is a timesaver for many, and interesting things
can be done to weight what users think is better and produce automatic
"Smart Playlists" or generate CDs on the fly without having to laboriously
find and add each track or whatever someone dreams up: the possibilities are
limited only by people's imaginations.

I've looked at a number of different players, and notice two trends when it
comes to storing the user's opinion of how good a song is.  The first one
that many encounter is the rating system of stars.  Users can, at their
leisure, rate songs on what is essentially a scale of 0 to 10 (with
half-star gradation from unrated to perfect.  I've seen this on Windows
Media Player, Amarok, Foobar2000, Winamp. dBpowerAmp, I think QuodLibet, and
a number of others.  The other main way I see is by a score, a number
between 0 and [99|100] usually, determined by an algorithm (seems to mostly
relate to play count and score of similar music).  As I recall, this feature
*also* exists in all of the software I mentioned previously.  Regardless,
both of these are data that users often wish to keep, whether it be in the
transition to a new computer, or on the laptop as well as the desktop, or on
their portable audio players, or just in the event that they decide to move
their music collection to an external hard drive (for backup or just to keep
it away from the main partition).

Currently, the ID3v2.4 specification offers the POPM frame, that stores an
email address, a rating with maximum value of 255, and an arbitrary-length
playcount.  It happens that this is more than adequate for the storage of
score data (and indeed, some players, I believe, do so), but the other
prevalent paradigm, stars, remains unhandled.  If I, as a developer, wanted
to store ratings *and* scores, what then? What would be the most sane way to
accomplish this?  Would it be possible that another field could be added to
POPM frame or another frame added specifically for rating?  Maybe in the
future, but I believe that that sort of change would have to be made in a
version jump of the specification (ID3v2.5, perhaps?).   Could I use could
use TXXX as a hack?  I could, and it would work for many files, yes, but
what about those that actually use that frame?  Obviously not an adequate
solution.  As I look over list of frames, I find many that I have not
personally used; many that *most people *likely don't even know about.  I
wouldn't argue for their removal or dare preempt one of them for my own
purposes (I understand that each has a reason it exists and if no one cared
it wouldn't be there), but I still have this problem that I would like to
solve.  So what do you suppose I should do?

Wyatt Epp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.id3.org/pipermail/id3v2/attachments/20080619/da33c76f/attachment.html>

More information about the ID3v2 mailing list