Informational M. Nilsson Document: id3v2.4.0-changes.txt 21st December 2000 ID3 tag version 2.4.0 - Changes Status of this document This document describes the changes between ID3v2.3.0 [ID3v2.3.0] and ID3v2.4.0 [ID3v2.4.0-strct][ID3v2.4.0-frames]. This document does not claim to be complete nor correct. Distribution of this document is unlimited. Abstract This document outlines the more important differences between ID3v2.3.0 and ID3v2.4.0. In general ID3v.2.4.0 can be said to be more consistent and easier to implement and more suitable to real world conditions than the previous versions. 1. Table of contents Status of this document Abstract 1. Table of contents 2. Conventions in this document 3. Tag structure changes 4. Deprecated ID3v2 frames 5. New frames 6. References 2. Conventions in this document References to sections in the ID3v2.4.0 Main Structure [ID3v2.4.0-strct] document will be given as [S:x.y] where x is the section and y is the subsection. In a similar fashion references to sections in the ID3v2.4.0 Native Frames [ID3v2.4.0-frames] document will be given as [F:x.y]. 3. Tag structure changes The location of tags in a file as well as methods to find and merge tags are far better defined in ID3v2.4.0 [S:5] than previous versions. A reverse search for tags are improved by the addition of a tag footer [S:3.4]. A tag footer flag has been added to the header flags to indicate the presence of a ID3v2 footer, hence the size field is not affected by the footer [S:3.1]. The extended header has been completely rewritten [S:3.2] and can not produce false synchs. It is also possible to indicate artificial tag restrictions in the extended header, for use with thinner clients. Unsynchronisation [S:6.1] is done on frame level, instead of on tag level, making it easier to skip frames, increasing the streamability of the tag. The unsynchronisation flag in the header [S:3.1] indicates if all frames has been unsynchronized, while the new unsynchronisation flag in the frame header [S:4.1.2] indicates unsynchronisation. To avoid false synchronisations in the frame header the size description and flag field has been rewritten [S:4]. Resynchronisation of the complete tag when the unsynchronisation flag in the tag header is set might result in a corrupt tag. The character encodings UTF-16BE and UTF-8 has been added to the list of valid encodings [S:4]. 4. Deprecated ID3v2 frames EQUA - Equalization This frame is replaced by the EQU2 frame, 'Equalisation (2)' [F:4.12]. IPLS - Involved people list This frame is replaced by the two frames TMCL, 'Musician credits list' [F:4.2.2], and TIPL, 'Involved people list' [F:4.2.2]. RVAD - Relative volume adjustment This frame is replaced by the RVA2 frame, 'Relative volume adjustment (2)' [F:4.11]. TDAT - Date This frame is replaced by the TDRC frame, 'Recording time' [F:4.2.5]. TIME - Time This frame is replaced by the TDRC frame, 'Recording time' [F:4.2.5]. TORY - Original release year This frame is replaced by the TDOR frame, 'Original release time' [F:4.2.5]. TRDA - Recording dates This frame is replaced by the TDRC frame, 'Recording time' [F:4.2.5]. TSIZ - Size The information contained in this frame is in the general case either trivial to calculate for the player or impossible for the tagger to calculate. There is however no good use for such information. The frame is therefore completely deprecated. TYER - Year This frame is replaced by the TDRC frame, 'Recording time' [F:4.2.5]. 5. New frames ASPI Audio seek point index [F:4.30] EQU2 Equalisation (2) [F:4.12] RVA2 Relative volume adjustment (2) [F:4.11] SEEK Seek frame [F:4.29] SIGN Signature frame [F:4.28] TDEN Encoding time [F:4.2.5] TDOR Original release time [F:4.2.5] TDRC Recording time [F:4.2.5] TDRL Release time [F:4.2.5] TDTG Tagging time [F:4.2.5] TIPL Involved people list [F:4.2.2] TMCL Musician credits list [F:4.2.2] TMOO Mood [F:4.2.3] TPRO Produced notice [F:4.2.4] TSOA Album sort order [F:4.2.5] TSOP Performer sort order [F:4.2.5] TSOT Title sort order [F:4.2.5] TSST Set subtitle [F:4.2.1] 6. References [ID3v2.3.0] Martin Nilsson, "ID3v2 informal standard". http://www.id3lib.org/id3/id3v2.3.0.txt [ID3v2-frames] Martin Nilsson, "ID3 tag version 2.4.0 - Native Frames" http://www.id3lib.org/id3/id3v2.4.0-frames.txt [ID3v2-strct] Martin Nilsson, "ID3 tag version 2.4.0 - Main Structure" http://www.id3lib.org/id3/id3v2.4.0-structure.txt