From phibon at scarlet.be Sun Apr 11 12:21:14 2010 From: phibon at scarlet.be (Pascal Hibon) Date: Sun, 11 Apr 2010 21:21:14 +0200 Subject: [ID3 Dev] What frame to use? Message-ID: Hello, Let's say we have a song with title A from artist B that is recorded an album called C. The album C is a compilation album. So A, B and C would use the following frames: TIT2 = A TALB = C TPE1 = B In what frame would I identify the "compilation" or various artists? I have looked into the ID3v2.3 standard but I couldn't find a specific frame for such information. What ID3v2.3 frame should I use for that kind of information? Thank you, Pascal -------------- next part -------------- An HTML attachment was scrubbed... URL: From jwhite at cdtag.com Fri Apr 9 12:25:12 2010 From: jwhite at cdtag.com (Jud White) Date: Fri, 9 Apr 2010 15:25:12 -0400 Subject: [ID3 Dev] Utility to write multiple ID3v2 tags In-Reply-To: References: <4BBF5484.6050300@fastmail.fm> Message-ID: I suspect the reason is because an implementation didn't know how to read ID3v2.4 and considered there not to be an ID3v2 tag in the file, then created a new ID3v2.3 tag at the beginning. I would use the first tag found. Multiple tags in an audio stream is usually for streaming audio and it's never one directly after another. On Fri, Apr 9, 2010 at 1:57 PM, Jiri Cincura wrote: > On Fri, Apr 9, 2010 at 18:23, Paul Taylor wrote: > > at least that is how my juadiotagger library works > > ID3 renamer works same way (searching from beginning). > > -- > Jiri {x2} Cincura (CTO x2develop.com) > http://blog.cincura.net/ | http://www.ID3renamer.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: id3v2-unsubscribe at id3.org > For additional commands, e-mail: id3v2-help at id3.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kohen.d at gmail.com Fri Apr 9 09:19:55 2010 From: kohen.d at gmail.com (Dudy Kohen) Date: Fri, 9 Apr 2010 19:19:55 +0300 Subject: [ID3 Dev] Utility to write multiple ID3v2 tags In-Reply-To: References: Message-ID: Usually the highest version is preferred when reading track information. I've seen cases that if specific information is missing from the highest version but exists in the older ones, the older version is used for the missing info. On Fri, Apr 9, 2010 at 2:08 PM, veena mohan wrote: > Hi, > > Can someone help me find an utility to write multiple ID3v2 tags into a > single .mp3 file. > > For e.g. ID3 v2.3 followed by ID3 v2.4 within a single mp3 track. > > I have come across such tracks in the web, and would like my player to > support such kind of tracks too. > What is the standard practice in decoding such tags? > Which of the ID3 tags should be given preference while decoding? > > Thanks & Regards, > Veena Mohan. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathiaskunter at yahoo.de Sat Apr 24 04:36:01 2010 From: mathiaskunter at yahoo.de (Mathias Kunter) Date: Sat, 24 Apr 2010 11:36:01 +0000 (GMT) Subject: [ID3 Dev] BOMS for multiple string fields ? In-Reply-To: <4BCC3F95.1010508@fastmail.fm> References: <4BCC3F95.1010508@fastmail.fm> Message-ID: <156456.81808.qm@web27005.mail.ukl.yahoo.com> Well, the specification says: "UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM. All strings in the same frame SHALL have the same byteorder." Therefore: 1) Strings in the same frame MAY have different byteorder. 2) To encode different byteorder strings, each string MUST have a BOM. 3) In order to be consistent with 2), also encode same byteorder strings with a BOM for each string. Using a BOM for each string also is the solution which should be most compatible with other ID3 implementations, since no UTF-16 compliant ID3 implementation should ignore the BOM of any string. Mathias K. ________________________________ Von: Paul Taylor An: id3v2 at id3.org Gesendet: Montag, den 19. April 2010, 13:33:41 Uhr Betreff: [ID3 Dev] BOMS for multiple string fields ? If have a text frame with multiple strings, stored as a null separated list, where null is represented by the termination code for the character encoding how do you encode type 01 (UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM) Do you write BOM for each string or just at the start of the total string i.e Say just have the single char string twice (0xDE 0x03) Should BOM be written for both strings 0xFF 0xFE 0xDE 0x03 0x00 0x00 0xFF 0xFE 0xDE 0x03 or just at the start of the total string 0xFF 0xFE 0xDE 0x03 0x00 0x00 0xDE 0x03 (null separator should be written for all fields except last one) Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From diskuze at cincura.net Sat Apr 3 09:58:52 2010 From: diskuze at cincura.net (Jiri Cincura) Date: Sat, 3 Apr 2010 19:58:52 +0300 Subject: [ID3 Dev] TRCK frame with more slashes Message-ID: Hi *, is there some definition how the splitting should behave in case of multiple slashes TRCK (and others) frame? It's kind of invalid, but plausible. -- Jiri {x2} Cincura (CTO x2develop.com) http://blog.cincura.net/ | http://www.ID3renamer.com --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From smilyveena at gmail.com Fri Apr 9 04:08:11 2010 From: smilyveena at gmail.com (veena mohan) Date: Fri, 9 Apr 2010 16:38:11 +0530 Subject: [ID3 Dev] Utility to write multiple ID3v2 tags Message-ID: Hi, Can someone help me find an utility to write multiple ID3v2 tags into a single .mp3 file. For e.g. ID3 v2.3 followed by ID3 v2.4 within a single mp3 track. I have come across such tracks in the web, and would like my player to support such kind of tracks too. What is the standard practice in decoding such tags? Which of the ID3 tags should be given preference while decoding? Thanks & Regards, Veena Mohan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pgbennett at comcast.net Sun Apr 18 12:26:52 2010 From: pgbennett at comcast.net (Peter Bennett) Date: Sun, 18 Apr 2010 15:26:52 -0400 Subject: [ID3 Dev] Non-destructive Improvements to ID3v23 In-Reply-To: <4BC33B91.3030604@fastmail.fm> References: <4BC33B91.3030604@fastmail.fm> Message-ID: <4BCB5CFC.3090205@comcast.net> I recall some time back I had some frames encoded with $03 UTF-8 and ID3v23. Unfortunately, windows media player refused to play the song at all, with some message about an unsupported file type. This is very unfriendly of Microsoft, you should be able to play an mp3 even if the tag is not valid. However this rather nixes the idea of incorporating this type of change to an existing standard. Peter On 4/12/2010 11:26 AM, Paul Taylor wrote: > The following features of ID3v24 could be used in ID3v23 without > causing much of a problem, Im proposing that we should document ID3 > V23.1 with these additions. At the moment developers and users are a > stuck with the common consensus being that applications should still > use ID3v23 rather than ID3v24, but use of ID3v23 makes certain things > more difficult then they would be if using ID3v24. > > 1. All text information frames supports multiple strings, stored as a > null separated list, where null is represented by the termination code > for the charater encoding > > This would allow things like multiple genres, and apps that didnt > understand multiple values would still continue to read just the first > value. > > 2. Frames that allow different types of text encoding contains a > textencoding description byte. Possible encodings: > > $00 ISO-8859-1 [ISO-8859-1]. Terminated with $00. > $01 UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM. All > strings in the same frame SHALL have the same byteorder. > Terminated with $00 00. > $02 UTF-16BE [UTF-16] encoded Unicode [UNICODE] without BOM. > Terminated with $00 00. > $03 UTF-8 [UTF-8] encoded Unicode [UNICODE]. Terminated with $00. > > This would allow UTF8 to be used, which is much less problematic for > applications, there is no BOM to consider, its more space efficient, > and even apps that cannot decode the UTF8 will display a better > approximation of the right value than if they cannot read UTF16. > > > Paul > > > --------------------------------------------------------------------- > 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 From paul_t100 at fastmail.fm Mon Apr 19 04:33:41 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 19 Apr 2010 12:33:41 +0100 Subject: [ID3 Dev] BOMS for multiple string fields ? Message-ID: <4BCC3F95.1010508@fastmail.fm> If have a text frame with multiple strings, stored as a null separated list, where null is represented by the termination code for the character encoding how do you encode type 01 (UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM) Do you write BOM for each string or just at the start of the total string i.e Say just have the single char string twice (0xDE 0x03) Should BOM be written for both strings 0xFF 0xFE 0xDE 0x03 0x00 0x00 0xFF 0xFE 0xDE 0x03 or just at the start of the total string 0xFF 0xFE 0xDE 0x03 0x00 0x00 0xDE 0x03 (null separator should be written for all fields except last one) Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From mathiaskunter at yahoo.de Sun Apr 11 08:53:41 2010 From: mathiaskunter at yahoo.de (Mathias Kunter) Date: Sun, 11 Apr 2010 15:53:41 +0000 (GMT) Subject: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 In-Reply-To: <4BC0EA93.7080603@fastmail.fm> References: <4BBF1429.8080405@fastmail.fm> <30289.84262.qm@web27005.mail.ukl.yahoo.com> <4BC0EA93.7080603@fastmail.fm> Message-ID: <990513.48172.qm@web27007.mail.ukl.yahoo.com> > If you have an APIC frame its very likely to have bytes that fall foul of the unsynchronization schema , >and if you don't do Unsychronization then that image WILL NOT display correctly in iTunes. So this is >one example where unsysnchronization is needed for newer software not for the music to play okay, but >for the metadata to display okay. Yes, it's a pain... >Ok I'll take another look at BE ( I thought it caused problems for WIndows but perhaps my diagnosis was >wrong) , but I don't think you can just drop the BOM thats breaking the ID3 standard Ah yes, ID3 specifies that a BOM must be present (the ISO specification of UTF-16 doesn't - I remembered incorrectly). Well, Windows Media Player stores strings within ID3 tags as little endian strings (as most unicode strings on the Windows platform are stored), but I'm not aware of problems caused by big endian strings. I however also didn't test this with all common versions of Windows Media Player. Mathias ________________________________ Von: Paul Taylor An: id3v2 at id3.org Gesendet: Samstag, den 10. April 2010, 23:16:03 Uhr Betreff: Re: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 Hi Mathias Mathias Kunter wrote: > Yes, unsynchronized tags aren't supported very well. However, de facto all software and hardware mp3 players support ID3 version 2 tags today, at least for skipping them if they're present within an mp3 file. It therefore shouldn't often be nescessary to unsynchronize an ID3 tag at all. > If you have an APIC frame its very likely to have bytes that fall foul of the unsynchronization schema , and if you don't do Unsychronization then that image WILL NOT display correctly in iTunes. So this is one example where unsysnchronization is needed for newer software not for the music to play okay, but for the metadata to display okay. > If you need to ensure compatibility with (old) software or hardware mp3 implementations which don't support ID3 version 2 tags and therefore actually scan the tag for a mp3 synchronization pattern, I would avoid using the 0xFF 0xFE byte order mark. You then may don't use any byte order mark at all and encode the string as big endian (as specified by the unicode standard), or explicitely use the big endian 0xFE 0xFF byte order mark - most applications which support UTF-16 should also be able to actually decode a big endian string! Ok I'll take another look at BE ( I thought it caused problems for WIndows but perhaps my diagnosis was wrong) , but I don't think you can just drop the BOM thats breaking the ID3 standard > > Mathias K. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verf?gt ?ber einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jwhite at cdtag.com Mon Apr 12 11:00:29 2010 From: jwhite at cdtag.com (Jud White) Date: Mon, 12 Apr 2010 14:00:29 -0400 Subject: [ID3 Dev] What frame to use? In-Reply-To: <7DB7937AC6634CCA8BA5104B80B8D960@PHIBON> References: <4BC229A3.6090304@fastmail.fm> <7DB7937AC6634CCA8BA5104B80B8D960@PHIBON> Message-ID: http://www.id3.org/iTunes_Compilation_Flag On Mon, Apr 12, 2010 at 1:56 PM, Pascal Hibon wrote: > Hi guys, > > > > Thank you both for the reply. > > One other question. I have searched for the TCMP frame in the ID3v2.4 > definition but I couldn?t find it. I?m interested to know how this frames > should be constructed. > > iTunes is doing it like this: > > > > TCMP xx xx xx xx yy yy 00 31 00 if the file is part of a compilation. (xx > xx xx xx = size and yy yy are the flags). > > Would this be the correct way to do it? > > > > Thank you, > > Pascal > > > ------------------------------ > > *From:* Jud White [mailto:judson.white at gmail.com] > *Sent:* zondag 11 april 2010 22:10 > *To:* id3v2 at id3.org > *Subject:* Re: [ID3 Dev] What frame to use? > > > > You can use TCMP in ID3v2.3. It's not official, but a lot of players > support it. > > If you mean how to identify the artist of the compilation, for example, a > DJ compilation, I've seen TXXX VA Artist used, not by iTunes, but that's the > closest thing I've seen. In case the scenario isn't clear here's an example > http://bit.ly/cpx7lL (amazon.com) where Reid Speed would be the VA Artist > and Dylan, K, Filthy Dirty Rich v. Angelai, etc would go in TPE1. > > On Sun, Apr 11, 2010 at 3:57 PM, Paul Taylor > wrote: > > Pascal Hibon wrote: > > > Hello, > > Let?s say we have a song with title A from artist B that is recorded an > album called C. The album C is a compilation album. So A, B and C would use > the following frames: > > TIT2 = A > > TALB = C > > TPE1 = B > > In what frame would I identify the ?compilation? or various artists? I have > looked into the ID3v2.3 standard but I couldn?t find a specific frame for > such information. What ID3v2.3 frame should I use for that kind of > information? > > Thank you, > > Pascal > > In ID3v24 you would use TCMP, no such frame exists for ID3v23 but I would > use TCMP for this as well, this is what iTunes does > > Paul > > --------------------------------------------------------------------- > To unsubscribe, e-mail: id3v2-unsubscribe at id3.org > For additional commands, e-mail: id3v2-help at id3.org > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From phibon at scarlet.be Mon Apr 12 10:56:04 2010 From: phibon at scarlet.be (Pascal Hibon) Date: Mon, 12 Apr 2010 19:56:04 +0200 Subject: [ID3 Dev] What frame to use? In-Reply-To: References: <4BC229A3.6090304@fastmail.fm> Message-ID: <7DB7937AC6634CCA8BA5104B80B8D960@PHIBON> Hi guys, Thank you both for the reply. One other question. I have searched for the TCMP frame in the ID3v2.4 definition but I couldn't find it. I'm interested to know how this frames should be constructed. iTunes is doing it like this: TCMP xx xx xx xx yy yy 00 31 00 if the file is part of a compilation. (xx xx xx xx = size and yy yy are the flags). Would this be the correct way to do it? Thank you, Pascal _____ From: Jud White [mailto:judson.white at gmail.com] Sent: zondag 11 april 2010 22:10 To: id3v2 at id3.org Subject: Re: [ID3 Dev] What frame to use? You can use TCMP in ID3v2.3. It's not official, but a lot of players support it. If you mean how to identify the artist of the compilation, for example, a DJ compilation, I've seen TXXX VA Artist used, not by iTunes, but that's the closest thing I've seen. In case the scenario isn't clear here's an example http://bit.ly/cpx7lL (amazon.com) where Reid Speed would be the VA Artist and Dylan, K, Filthy Dirty Rich v. Angelai, etc would go in TPE1. On Sun, Apr 11, 2010 at 3:57 PM, Paul Taylor wrote: Pascal Hibon wrote: Hello, Let's say we have a song with title A from artist B that is recorded an album called C. The album C is a compilation album. So A, B and C would use the following frames: TIT2 = A TALB = C TPE1 = B In what frame would I identify the "compilation" or various artists? I have looked into the ID3v2.3 standard but I couldn't find a specific frame for such information. What ID3v2.3 frame should I use for that kind of information? Thank you, Pascal In ID3v24 you would use TCMP, no such frame exists for ID3v23 but I would use TCMP for this as well, this is what iTunes does Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From diskuze at cincura.net Fri Apr 9 10:57:57 2010 From: diskuze at cincura.net (Jiri Cincura) Date: Fri, 9 Apr 2010 19:57:57 +0200 Subject: [ID3 Dev] Utility to write multiple ID3v2 tags In-Reply-To: <4BBF5484.6050300@fastmail.fm> References: <4BBF5484.6050300@fastmail.fm> Message-ID: On Fri, Apr 9, 2010 at 18:23, Paul Taylor wrote: > at least that is how my juadiotagger library works ID3 renamer works same way (searching from beginning). -- Jiri {x2} Cincura (CTO x2develop.com) http://blog.cincura.net/ | http://www.ID3renamer.com --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Fri Apr 23 22:58:45 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Sat, 24 Apr 2010 06:58:45 +0100 Subject: [ID3 Dev] TPE2 In-Reply-To: References: Message-ID: <4BD28895.5050109@fastmail.fm> Jud White wrote: > > TPE1 > > The 'Lead artist/Lead performer/Soloist/Performing group' is > > used for the main artist. > > > > TPE2 > > The 'Band/Orchestra/Accompaniment' frame is used for additional > > information about the performers in the recording. > > Explorer in Win7 incorrectly labels TPE2 as the "Artist" and TPE1 as > "Contributing artists". TPE1 has always been the Artist and afaik TPE2 > is rarely used. fb2k, iTunes and WMP all display TPE1 as Artist. Can > someone speak up to bring this to consensus so I can update the > compliance page with a little confidence? This is a fairly fresh > install of Win7 Professional (32-bit) but I suppose something could > have hooked into the shell overriding default behavior. > > Regarding the compliance page, I just tried Foobar and it uses TXXX > ALBUM ARTIST, not TXXX ALBUM_ARTIST. Paul, since you added this, can > you confirm and update? Going a little further, I don't know if this > is a compliance issue, but it's good to note. Yeah you are correct on both counts. I tried to create a new page on the wiki for Foobar but didnt have permission so added to compliane issue instead. > The way I'd interpret TPE2 is like Queen (TPE1) playing with the Royal > Philharmonic Orchestra (TPE2). In a compilation album I wouldn't put a > DJ/mixer in TPE2, though I would put the individual track artists in TPE1. But I would typicaly put 'Various Artists' into TPE2 > I guess the bigger question is where does Album Artist go? Can we make > an addendum? Would anyone implement it? I would. Most applications already used TPE2 for Album artist, and I think this is now the defacto standard. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Tue Apr 13 02:42:15 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Tue, 13 Apr 2010 10:42:15 +0100 Subject: [ID3 Dev] Non-destructive Improvements to ID3v23 In-Reply-To: <4BC33B91.3030604@fastmail.fm> References: <4BC33B91.3030604@fastmail.fm> Message-ID: <4BC43C77.8080709@fastmail.fm> Paul Taylor wrote: > The following features of ID3v24 could be used in ID3v23 without > causing much of a problem, Im proposing that we should document ID3 > V23.1 with these additions. At the moment developers and users are a > stuck with the common consensus being that applications should still > use ID3v23 rather than ID3v24, but use of ID3v23 makes certain things > more difficult then they would be if using ID3v24. > > 1. All text information frames supports multiple strings, stored as a > null separated list, where null is represented by the termination code > for the charater encoding > Foobar2000 does this already, you add multiple values to any text field by separating them with ; but they get written seperated with a null char, by default it writes IDv24 tags but if you have AdvancedTagging/MP3/ID3v2 writer compatabilty mode set it writes ID3v23 , but still separates values by a null char (as in the v24 spec) . The advantage of this method is it doesnt break applications that only understand the one value, they just take the first one. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From mathiaskunter at yahoo.de Sat Apr 10 03:14:48 2010 From: mathiaskunter at yahoo.de (Mathias Kunter) Date: Sat, 10 Apr 2010 10:14:48 +0000 (GMT) Subject: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 In-Reply-To: <4BBF1429.8080405@fastmail.fm> References: <4BBF1429.8080405@fastmail.fm> Message-ID: <30289.84262.qm@web27005.mail.ukl.yahoo.com> Yes, unsynchronized tags aren't supported very well. However, de facto all software and hardware mp3 players support ID3 version 2 tags today, at least for skipping them if they're present within an mp3 file. It therefore shouldn't often be nescessary to unsynchronize an ID3 tag at all. If you need to ensure compatibility with (old) software or hardware mp3 implementations which don't support ID3 version 2 tags and therefore actually scan the tag for a mp3 synchronization pattern, I would avoid using the 0xFF 0xFE byte order mark. You then may don't use any byte order mark at all and encode the string as big endian (as specified by the unicode standard), or explicitely use the big endian 0xFE 0xFF byte order mark - most applications which support UTF-16 should also be able to actually decode a big endian string! Mathias K. ________________________________ Von: Paul Taylor An: id3v2 at id3.org Gesendet: Freitag, den 9. April 2010, 13:48:57 Uhr Betreff: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 Hi, ID3v23 doesnt support UTF8 but it does support UTF16 with BOM, i.e 2 bytes per character which can be either Most Significant Byte (MSB) or Least Significant Byte (LSB) first as indicated by the BOM that can be 0xFF 0xFE or 0xFe 0xFF. Trouble if you use 0xFF 0xFE it matches the pattern for synchronization and if you do synchronize the tag then many applications dont understand synchronization. Whereas if you use 0xFE 0xFF you dont need unsynchronization, but I dont thinks Windows likes this byte order. Anybody else had similar problems and come up with the best supported solution. thanks Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verf?gt ?ber einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul_t100 at fastmail.fm Tue Apr 13 02:39:24 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Tue, 13 Apr 2010 10:39:24 +0100 Subject: [ID3 Dev] Understanding multiple genres in ID3v23 In-Reply-To: <4BC31D95.7040406@fastmail.fm> References: <4BC31D95.7040406@fastmail.fm> Message-ID: <4BC43BCC.6020103@fastmail.fm> Paul Taylor wrote: > With ID3v24 you can specify multiple genres by writing a null > character between each genres, and I treat as multiple genres with > equal precedence, unfortunately this is not how ID3v23 works. > > > From the ID3v23 Spec: > > "The 'Content type', which previously was stored as a one byte numeric > value only, is now a numeric string. You may use one or several of the > types as ID3v1.1 did or, since the category list would be impossible > to maintain with accurate and up to date categories, define your own. > > References to the ID3v1 genres can be made by, as first byte, enter > "(" followed by a number from the genres list (appendix A) and ended > with a ")" character. This is optionally followed by a refinement, > e.g. "(21)" or "(4)Eurodisco". Several references can be made in the > same frame, e.g. "(51)(39)". If the refinement should begin with a "(" > character it should be replaced with "((", e.g. "((I can figure out > any genre)" or "(55)((I think...)". The following new content types is > defined in ID3v2 and is implemented in the same way as the numerig > content types, e.g. "(RX)"." > > So if you want to specify two genres and not use the numerical system, > how do you separate them - with a space ? > > i.e Rock Acapella > > and if you do separate with a space, how do you specify genres which > contain a space > > i.e Rock Punk Rock Acapella > > should be three genres, but would be read as four. > > and are multiple genres read as refinements , or as genres of equal > standing. > > Or should we be putting these in brackets, I though brackets only > applied to the predefined numeric types (plus RX and CV) but perhaps not. > > In summary I dont expect there is a right anwser, but I would love to > know whats others are doing, what is the defacto standard. > > Paul Done some more delving this is what Foobar2000 does By default it writes IDv24 tags but if you have AdvancedTagging/MP3/ID3v2 writer compatabilty mode set it writes ID3v23 , but separates values by a null char (as in the v24 spec) . As a Foobar user you can specify multiple values by seperating them with a ; but a semicolon doesnt actually get written to a file a null char is written instead. When reading values back the values the null chars are converted to ;'s for display. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Sat Apr 10 14:16:03 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Sat, 10 Apr 2010 22:16:03 +0100 Subject: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 In-Reply-To: <30289.84262.qm@web27005.mail.ukl.yahoo.com> References: <4BBF1429.8080405@fastmail.fm> <30289.84262.qm@web27005.mail.ukl.yahoo.com> Message-ID: <4BC0EA93.7080603@fastmail.fm> Hi Mathias Mathias Kunter wrote: > Yes, unsynchronized tags aren't supported very well. However, de facto > all software and hardware mp3 players support ID3 version 2 tags > today, at least for skipping them if they're present within an mp3 > file. It therefore shouldn't often be nescessary to unsynchronize an > ID3 tag at all. > If you have an APIC frame its very likely to have bytes that fall foul of the unsynchronization schema , and if you don't do Unsychronization then that image WILL NOT display correctly in iTunes. So this is one example where unsysnchronization is needed for newer software not for the music to play okay, but for the metadata to display okay. > If you need to ensure compatibility with (old) software or hardware > mp3 implementations which don't support ID3 version 2 tags and > therefore actually scan the tag for a mp3 synchronization pattern, I > would avoid using the 0xFF 0xFE byte order mark. You then may don't > use any byte order mark at all and encode the string as big endian (as > specified by the unicode standard), or explicitely use the big endian > 0xFE 0xFF byte order mark - most applications which support UTF-16 > should also be able to actually decode a big endian string! Ok I'll take another look at BE ( I thought it caused problems for WIndows but perhaps my diagnosis was wrong) , but I don't think you can just drop the BOM thats breaking the ID3 standard > > Mathias K. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From judson.white at gmail.com Sun Apr 11 13:09:44 2010 From: judson.white at gmail.com (Jud White) Date: Sun, 11 Apr 2010 16:09:44 -0400 Subject: [ID3 Dev] What frame to use? In-Reply-To: <4BC229A3.6090304@fastmail.fm> References: <4BC229A3.6090304@fastmail.fm> Message-ID: You can use TCMP in ID3v2.3. It's not official, but a lot of players support it. If you mean how to identify the artist of the compilation, for example, a DJ compilation, I've seen TXXX VA Artist used, not by iTunes, but that's the closest thing I've seen. In case the scenario isn't clear here's an example http://bit.ly/cpx7lL (amazon.com) where Reid Speed would be the VA Artist and Dylan, K, Filthy Dirty Rich v. Angelai, etc would go in TPE1. On Sun, Apr 11, 2010 at 3:57 PM, Paul Taylor wrote: > Pascal Hibon wrote: > >> >> Hello, >> >> Let?s say we have a song with title A from artist B that is recorded an >> album called C. The album C is a compilation album. So A, B and C would use >> the following frames: >> >> TIT2 = A >> >> TALB = C >> >> TPE1 = B >> >> In what frame would I identify the ?compilation? or various artists? I >> have looked into the ID3v2.3 standard but I couldn?t find a specific frame >> for such information. What ID3v2.3 frame should I use for that kind of >> information? >> >> Thank you, >> >> Pascal >> >> In ID3v24 you would use TCMP, no such frame exists for ID3v23 but I would > use TCMP for this as well, this is what iTunes does > > Paul > > --------------------------------------------------------------------- > To unsubscribe, e-mail: id3v2-unsubscribe at id3.org > For additional commands, e-mail: id3v2-help at id3.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul_t100 at fastmail.fm Fri Apr 9 09:23:32 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Fri, 09 Apr 2010 17:23:32 +0100 Subject: [ID3 Dev] Utility to write multiple ID3v2 tags In-Reply-To: References: Message-ID: <4BBF5484.6050300@fastmail.fm> Dudy Kohen wrote: > Usually the highest version is preferred when reading track information. > I've seen cases that if specific information is missing from the > highest version but exists in the older ones, the older version is > used for the missing info. I would expect that most applications would just use the first one they find , and not search for any more, at least that is how my juadiotagger library works. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Sun Apr 11 12:57:23 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Sun, 11 Apr 2010 20:57:23 +0100 Subject: [ID3 Dev] What frame to use? In-Reply-To: References: Message-ID: <4BC229A3.6090304@fastmail.fm> Pascal Hibon wrote: > > Hello, > > Let?s say we have a song with title A from artist B that is recorded > an album called C. The album C is a compilation album. So A, B and C > would use the following frames: > > TIT2 = A > > TALB = C > > TPE1 = B > > In what frame would I identify the ?compilation? or various artists? I > have looked into the ID3v2.3 standard but I couldn?t find a specific > frame for such information. What ID3v2.3 frame should I use for that > kind of information? > > Thank you, > > Pascal > In ID3v24 you would use TCMP, no such frame exists for ID3v23 but I would use TCMP for this as well, this is what iTunes does Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From jwhite at cdtag.com Fri Apr 23 11:21:15 2010 From: jwhite at cdtag.com (Jud White) Date: Fri, 23 Apr 2010 14:21:15 -0400 Subject: [ID3 Dev] TPE2 Message-ID: > TPE1 > The 'Lead artist/Lead performer/Soloist/Performing group' is > used for the main artist. > > TPE2 > The 'Band/Orchestra/Accompaniment' frame is used for additional > information about the performers in the recording. Explorer in Win7 incorrectly labels TPE2 as the "Artist" and TPE1 as "Contributing artists". TPE1 has always been the Artist and afaik TPE2 is rarely used. fb2k, iTunes and WMP all display TPE1 as Artist. Can someone speak up to bring this to consensus so I can update the compliance page with a little confidence? This is a fairly fresh install of Win7 Professional (32-bit) but I suppose something could have hooked into the shell overriding default behavior. Regarding the compliance page, I just tried Foobar and it uses TXXX ALBUM ARTIST, not TXXX ALBUM_ARTIST. Paul, since you added this, can you confirm and update? Going a little further, I don't know if this is a compliance issue, but it's good to note. The way I'd interpret TPE2 is like Queen (TPE1) playing with the Royal Philharmonic Orchestra (TPE2). In a compilation album I wouldn't put a DJ/mixer in TPE2, though I would put the individual track artists in TPE1. I guess the bigger question is where does Album Artist go? Can we make an addendum? Would anyone implement it? I would. -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul_t100 at fastmail.fm Mon Apr 12 08:26:09 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 12 Apr 2010 16:26:09 +0100 Subject: [ID3 Dev] Non-destructive Improvements to ID3v23 Message-ID: <4BC33B91.3030604@fastmail.fm> The following features of ID3v24 could be used in ID3v23 without causing much of a problem, Im proposing that we should document ID3 V23.1 with these additions. At the moment developers and users are a stuck with the common consensus being that applications should still use ID3v23 rather than ID3v24, but use of ID3v23 makes certain things more difficult then they would be if using ID3v24. 1. All text information frames supports multiple strings, stored as a null separated list, where null is represented by the termination code for the charater encoding This would allow things like multiple genres, and apps that didnt understand multiple values would still continue to read just the first value. 2. Frames that allow different types of text encoding contains a textencoding description byte. Possible encodings: $00 ISO-8859-1 [ISO-8859-1]. Terminated with $00. $01 UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM. All strings in the same frame SHALL have the same byteorder. Terminated with $00 00. $02 UTF-16BE [UTF-16] encoded Unicode [UNICODE] without BOM. Terminated with $00 00. $03 UTF-8 [UTF-8] encoded Unicode [UNICODE]. Terminated with $00. This would allow UTF8 to be used, which is much less problematic for applications, there is no BOM to consider, its more space efficient, and even apps that cannot decode the UTF8 will display a better approximation of the right value than if they cannot read UTF16. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Mon Apr 12 06:18:13 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 12 Apr 2010 14:18:13 +0100 Subject: [ID3 Dev] Understanding multiple genres in ID3v23 Message-ID: <4BC31D95.7040406@fastmail.fm> With ID3v24 you can specify multiple genres by writing a null character between each genres, and I treat as multiple genres with equal precedence, unfortunately this is not how ID3v23 works. From the ID3v23 Spec: "The 'Content type', which previously was stored as a one byte numeric value only, is now a numeric string. You may use one or several of the types as ID3v1.1 did or, since the category list would be impossible to maintain with accurate and up to date categories, define your own. References to the ID3v1 genres can be made by, as first byte, enter "(" followed by a number from the genres list (appendix A) and ended with a ")" character. This is optionally followed by a refinement, e.g. "(21)" or "(4)Eurodisco". Several references can be made in the same frame, e.g. "(51)(39)". If the refinement should begin with a "(" character it should be replaced with "((", e.g. "((I can figure out any genre)" or "(55)((I think...)". The following new content types is defined in ID3v2 and is implemented in the same way as the numerig content types, e.g. "(RX)"." So if you want to specify two genres and not use the numerical system, how do you separate them - with a space ? i.e Rock Acapella and if you do separate with a space, how do you specify genres which contain a space i.e Rock Punk Rock Acapella should be three genres, but would be read as four. and are multiple genres read as refinements , or as genres of equal standing. Or should we be putting these in brackets, I though brackets only applied to the predefined numeric types (plus RX and CV) but perhaps not. In summary I dont expect there is a right anwser, but I would love to know whats others are doing, what is the defacto standard. Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org From paul_t100 at fastmail.fm Fri Apr 9 04:48:57 2010 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Fri, 09 Apr 2010 12:48:57 +0100 Subject: [ID3 Dev] Which byte order should be used when using UTF16 BOM with ID3v23 Message-ID: <4BBF1429.8080405@fastmail.fm> Hi, ID3v23 doesnt support UTF8 but it does support UTF16 with BOM, i.e 2 bytes per character which can be either Most Significant Byte (MSB) or Least Significant Byte (LSB) first as indicated by the BOM that can be 0xFF 0xFE or 0xFe 0xFF. Trouble if you use 0xFF 0xFE it matches the pattern for synchronization and if you do synchronize the tag then many applications dont understand synchronization. Whereas if you use 0xFE 0xFF you dont need unsynchronization, but I dont thinks Windows likes this byte order. Anybody else had similar problems and come up with the best supported solution. thanks Paul --------------------------------------------------------------------- To unsubscribe, e-mail: id3v2-unsubscribe at id3.org For additional commands, e-mail: id3v2-help at id3.org