[ID3 Dev] foobar2000 ID3v2.3 compliance
Audio Ranger Development
developer at audioranger.com
Tue Mar 29 06:14:47 PDT 2011
Ben, Canar,
> I personally feel that this is a defect in the spec and should be entirely
> ignore and null characters should be used as Peter had previously
> implemented.
The question is which solution is the better one in terms of A)
compatibility, and B) effectiveness.
Regarding compatibility: foobar2000 seems to be the only popular player
(under Windows) which uses null bytes to separate multiple artists in
ID3 v 2.3 (at least up to version 1.1.5). Other popular players either
don't support multiple artists at all in ID3 v 2.3 (iTunes, VLC Media
Player, Winamp) or use slash chars (Windows Media Player, Media Monkey).
Regarding effectiveness: it might be a good idea to support both slash
chars *and* null bytes when reading an ID3 v 2.3 tag. Yes, there is the
risk of a false positive match when treating slash chars as separators,
and AC/DC is a quite prominent example for that. However, let's rely on
facts. Only about 1 or 2 out of 1000 artists contain a slash within
their names (source: MusicBrainz database with more than 600.000 artist
names stored).
In order to further reduce the false positive match rate, a whitelist of
the most popular "slash artists" and / or some kind of artist name
analysis can be used (the probability of a slash being a separator is
higher if there are spaces present which surround the slash, for example).
When writing the tag, it entirely depends on which other program should
read the tag again afterwards. From a user's point of view, it's
important that things work as good as possible on the software or
hardware *he* uses. Keeping that in mind, an ID3 implementation should
probably write slash separators for iTunes and Winamp users, but may use
null separators for foobar and Media Monkey users, for example. In other
words: make it an option, and let the user choose the software or
hardware your program should be compatible with.
The best solution of course would be to officially revise the ID3 v 2.3
specification in order to use null bytes for multiple artists (and for
other text fields too). This however won't help much as long as such
widely used implementations like iTunes don't care about multiple
artists at all.
Regards,
Mathias K.
>
> -Ben Allison
>
>> Hello all,
>>
>> PaulTaylor added the following compliance issue for foobar2000:
>>
>> Null separates multiple values | Null seperates multiple strings in text
>> frames, didnt come in until ID3v24
>>
>> This was fixed in version 1.1. You can see the changelog here:
>> http://www.foobar2000.org/changelog
>>
>> Also, the correct name of the player is, as I wrote previously,
>> "foobar2000", not "Foobar 2000".
>>
>> Thanks.
>>
>> --Ben Cook, aka Canar
>> Hydrogenaudio moderator and foobar2000 alpha-tester.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
>> For additional commands, e-mail: id3v2-help at id3.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
> For additional commands, e-mail: id3v2-help at id3.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org
More information about the ID3v2
mailing list