|
Questions re Database and Indexing
|
|
23-12-2013, 00:12
Post: #18
|
|||
|
|||
RE: Questions re Database and Indexing
(22-12-2013 22:47)Andre Gosselin Wrote: Thanks for all this info. I now have a better understanding of how multiples values in a tag may be handled, and why problems may arise. I will humbly summarize my ideas below, hoping this may prove helpfull to others. The tagging specification allows this for all tag types, not just some tag types. Servers and control points might impose additional restrictions for some tag types. Quote:2. The situation is different for MP3 files, since this format allows for only *one* instance of a given tag type, eg only one artist (TP1 or TPE1 using MP3 terminology) tag, or one genre (TCO or TCON in MP3 terminology) tag. To enter multiple values inside a tag, one has to resort to some sort of "convention" on how to separate values inside the single tag value (I use the word "convention" with care here, since some may speak of a "standard" which varies according to which flavor of ID3 tag is used). The important point to remember is that the separator is now *part* of the tag value, and that the software reading the mp3 file must be either prepared to deal with it, or choose to simply ignore it. This use of separators is defined by the specification and isn't an optional behaviour or convention for software that reads the tag. Quote:3- Inside an MP3 artist (TCO, TCON) tag, a slash is conventionally used as a separator if the track is marked as being of ID3v2.3 type. For a track marked as being of ID3v2.4 type, the slash looses its significance as a separator, and the separator should be a null-byte. A null-byte cannot be entered by hand, and the tagging software must take care of this. The references to "convention" and "should" are misleading. These should be "specification" and "must". Quote:4- MinimServer is very strict about this when it comes to splitting the mp3 artist tag along artist names when building the "All Artists" index. A slash will provoke a split only if the track is marked as ID3v2.3, otherwise the entire tag value will become one entry in the "All Artists" index. A null-byte will generate a split only if a track is marked as ID3v2.4, otherwise (from my tests) MinimServer will ignore everything following the null-byte in the tag string. For MinimServer users, the important point is to make sure that the tagging software used can be made to follow those rules, and it is not always easy to verify this. MinimServer is designed to implement the relevant tagging specifications as closely (strictly) as possible. Quote:For example, among the programs I know, MediaMonkey cannot output ID3v2.4 tags, only ID3v2.3. Multiple artists are entered in the UI using a ";" as a separator which MM will internally translate to a "/" (a "/" can also be used directly in the Artist field). Foobar2000 can output ID3v2.4 tags, if you take care of selecting a deep setting in the Advanced tab. Multiple artists are entered in the UI using a ";", which is internally translated to a "/" or a null-byte (according to the tag standard used). MP3Tag can also be used, but be carefull to correctly set the tag type used before entering the separator. If you use a "\\", MP3Tag will *always* translate it as a null-byte in the output file, even if the tag type is set as ID3v2.3. An alt-T cmd will show multiple "virtual" artist tags, but MinimServer will simply ignore the artist names following the "\\" in the MP3Tag UI. I am not sure if this should be called a Mp3Tag bug or not, but this behavior took me quite a long time to figure out. Maybe a null-byte should always be treated as a valid separator by softwares reading the mp3 file, irrespective of the tag type used. This would require a fix to MinimServer. This behaviour would violate the ID3v2.3 specification, so it could not be considered a "fix". Quote:5- As far as MinimServer is concerned, the multiple value issue with the MP3 genre tag seems less clear regarding the valid separator to be used. MediaMonkey and Foobar always use a ";", irrespective of the tagging standard used, but MinimServer simply ignores it and refuses to split along it. A "/" does not work also. The only separator I could find to have MinimServer split the genre values is a null-byte, and the only tagging software I know about that can achieve that is Mp3Tag (using "\\"), but only if you apply the ID3v2.4 tagging standard), otherwise the rest of he genre string will be ignored (as is the case for the artist tag). All of this is exactly in line with the relavent tagging specifications. Quote:I loaded some MP3 tracks with multiple genres separated by a ";" inside 3 music servers I know about, namely AssetUPnP, MediaMonkey and Foobar2000. All 3 can extract individual genres out of the genre strings. This could indicate that the use of ";" as a separator inside the MP3 genre tag is seen as a de facto "standard" by the industry, and it could be a good thing for MinimServer to behave similarly. I don't think it would be a good thing for MinimServer to violate the ID3v2.3 specification as you are suggesting. Quote:I hope I have it mostly correct this time! Yes, you do. Thanks for this very helpful summary. |
|||
|
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)

Search
Member List
Calendar
Help



