热门问题
时间线
聊天
视角
ID3
来自维基百科,自由的百科全书
Remove ads
ID3是一种metadata容器,多应用于MP3格式的音频文件中。它可以将相关的曲名、演唱者、专辑、音轨数等信息存储在MP3文件中,又称作“ID3Tags”。
ID3也被苹果公司指定为HTTP Live Streaming中的时间后设资料,在主要的传输流或单独的音频传输流中作为PID乘载。
ID3一般位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息。ID3信息分为两个版本,v1和v2版。其中: v1版的ID3在mp3文件的末尾128字节,以TAG三个字符开头,后面跟上歌曲信息。v1.1版将“评论”字段缩短,增设“曲目”字段。v2版则和v1版截然不同,其通常将一系列可扩展的资料框架(frames)存储在文件开头,而每一块资料框架都有当作识别标签的、大小约3到4个字节的字符串,以及其所存储的资料。在最新的ID3v2.4版本中,总共宣告有83种资料框架,而用户也可以自定义属于自己的资料框架。目前总共有三种版本的ID3v2,其中每一版都有对资料框架的定义进行扩展。
ID3是mp3文件后设资料自然而然发展出来的事实标准;其成品并没有包含任何的实质规范,也没有任何组织给予其正式的批准或认证。其与APE tag在音乐文件的后设资料标签领域互相角逐。
Remove ads
ID3v1
MP3并未默认存储文件后设资料的方式。在1996年,埃里克·肯普(Eric Kemp)想要在音频档案后方加入一小串资料,也因此解决了这个问题。这个方法就是现在的ID3v1,很快就变成了MP3文件存储后设资料的事实标准[1]。一个开发控制台游戏系统的地下组织“伤害控制论”(Damaged Cybernetics)宣布了格式。因为所有已开发的控制台ROM都没有任何的识别信息,所以他们创造了一个标签系统来让其更容易查找。埃里克和合作伙伴们将其带进MP3文件中。这种格式被应用在许多当时格式不明的文件当中。
ID3v1标签总共占据128个字节,接在文件的末尾以维持文件在旧版的媒体播放器中的兼容性。有些播放器会在读取到这些标签时误认为音频档而产生一些杂音,不过大部分的播放器和几乎全部的现代播放器都会正确地跳过标签。标签有30字节用来存储标题、演唱者、专辑以及“评论”,4个字节存储年分,以及一个字节存储歌曲的艺术类型。默认有80种艺术类型,Winamp后来将其扩展到总共148种。
在1997年,迈克尔·迈克塞勒对ID3v1做了一些改进。因为评论字段实在是小到不可能写出一些有用的东西,所以他干脆拿掉两个字节来存储“曲目”。这种标签被称作ID3v1.1[1]。
Remove ads
字符串由空格或零填充。未设置的选项会填入空串。ID3v1总长为128个字节[2]。
ID3v1默认了一系列的艺术类型,以数字作为索引。Winamp在自家的音乐播放器加入更多选项到该清单中,后来其他播放器也随之跟进;有一部分的值没有标准规范[4]。不过,并非全世界都支持Winamp的扩展清单。有时候,有些播放器只支持到125种艺术类型[5]。
Remove ads
扩展标签(extended tag)是位于ID3v1标签前的额外资料区块,其将标题、艺术家与专辑字段各自扩展到60个字节长度,提供可自由输入文字的艺术类型字段、一字节大小的曲速(值为0到5)以及MP3文件的起始与结束时间。如果以上的区域都没有被使用,那么这个资料区块就会自动被省略。
有些支持ID3v1的程序也可以读到扩展标签,不过写入时可能会在扩展区块中留下过旧的值。扩展区块并非官方标准,而且只有少数程序支持,不包含XMMS或Winamp。扩展标签有时也被称作“补强标签”(enhanced tag)。
扩展标签总长227个字节,并且位于ID3v1标签之前。
Remove ads
ID3v2
1998年,一个由许多贡献者创造、被称作ID3v2的新规范问世[6]。虽然继承了ID3的名字,但其结构与ID3v1大相径庭。
ID3v2标签有各种不同的大小,而且经常位于文件开头,以运用于流媒体中。举例来说,TIT2资料框架包含标题,而WOAR资料框架则包含该艺术家的网站URL链接。资料框架最大可达16MB,不过标签总大小上限为256MB。标签也不再局限于西欧编码,而支持Unicode,解决了国际化的问题。
文字框架会由一个编码字节标记,以得知其是由哪种编码存入的[7]。
$00 – ISO-8859-1 (LATIN-1, Identical to ASCII for values smaller than 0x80). $01 – UCS-2 (UTF-16 encoded Unicode with BOM), in ID3v2.2 and ID3v2.3. $02 – UTF-16BE encoded Unicode without BOM, in ID3v2.4. $03 – UTF-8 encoded Unicode, in ID3v2.4.
不过,在使用地区编码而非统一码的时候,还是很容易出现乱码。特别是有些使用Shift JIS编码的日文编辑者经常造成一些灾难性的后果:因为并非标准支持,所以不管地区设置为何,都无法运用于任何符合标准的软件;因为日本以外的地区几乎不支持Shift JIS,所以也无法在日本以外的地区使用;甚至连日本境内也并非通用,因为其取决于软件与设置。
在最新版ID3v2.4,总共宣告了83种资料框架[8],而用户也可以自定义属于自己的资料框架。标准的资料框架有量测音乐速度、著作权、歌词、任意文字和URL数据等等。ID3v2总共有三种版本:
- ID3v2.2
- v2.2是ID3v2的第一个公开版本。他使用3个字符作为资料框架标识符,而非4个(举例来说,其使用TT2而非T1T2)。v2.3和v2.4中大多数的资料框架都在v2.2中有着相似的框架。这个标准已经被认为过时[9]。
- ID3v2.3
- v2.3将资料框架标识符扩展到4个字符,并且加入了一些新的资料框架。一个框架可以包含复数值,由空字符分隔。这是目前最广泛使用的ID3v2标签[10]。
- ID3v2.4
- v2.4出版于2000年11月1日,至今仍是最新的版本。其允许文字资料以UTF-8写入。另外一项新功能是可以选择是否在文件末端、其他标签前面加入标签,就像ID3v1那样[11]。
- 没有任何版本的Windows资源管理器和Windows Media Player──甚至是最新的Windows 10和WMP 12──都无法正确的解读ID3v2.4标签,不过依然能解读v2.3或是更早的版本[12][13]。
Remove ads
对于歌曲的评分,有一个宽松的事实标准。大多数应用程序会替所有歌曲展示0到5颗星的评分,而星数会以何种形式展示则各有不同。举例来说,当你在iTunes替歌曲评分的时候,评分并不会嵌入那个音乐文件的标签里,而是会存储在iTunes自己的后设资料数据库中。其他的媒体播放器可以嵌入标签,但方法不一定相同,所以在一个媒体播放器评分的音乐不一定会在其他的播放器以相同的形式展示。
不过,在新版的ID3v2中有一个“Popularimeter”资料框架用来解决这个问题。这个资料框架的标识符是POPM,而Windows资源管理器、WMP、Winamp、foobar2000、MediaMonkey以及其他软件都将0-255这范围内的值大致相同地分为0-5星展示。
以Windows资源管理器读写POPM资料框架的标准为例:
语法则为:
Windows Media Player 9 Series | 255 | 0
其中0是POPM的计数器部分,不要与PCNT资料框架的播放次数混淆。不过如果有应用程序支持粒度,一颗星的话会写入1,而2到31则会是一颗星之下的粒度点。值得一提的是,Windows所使用的ID字符串并非规范所要求的电子邮件地址。而且,直到Windows 7和WMP 12的Windows资源管理器和WMP都有一个漏洞是:如果你使用以上软件替音乐评分的话,任何有关回放增益的标签都会损坏[来源请求]。WMP也以上述方式读写相同的值,除了4到5星之间有着些微莫名的不同。WMP使用221和222来区隔4、5星,理由不明(页面存档备份,存于互联网档案馆)。
Remove ads
ID3v2章节补遗(ID3v2 Chapter Addendum)出版于2005年12月,不过至今尚未被广泛支持。它让用户们可以简单地跳到音频档案中特定的地点或乐章,并且可以在播放期间提供同步的图片与文字的幻灯片。典型的应用程序包括补强播客,而且其可用于v2.3或v2.4标签中[14]。
后设资料可以包含以下类型的图片[15]:
$00 其他 $01 32x32 pixels 'file icon' (PNG only) $02 Other file icon $03 Cover (front) $04 Cover (back) $05 Leaflet page $06 Media (e.g. label side of CD) $07 Lead artist/lead performer/soloist $08 Artist/performer $09 Conductor $0A Band/Orchestra $0B Composer $0C Lyricist/text writer $0D Recording Location $0E During recording $0F During performance $10 Movie/video screen capture $11 A bright coloured fish $12 Illustration $13 Band/artist logotype $14 Publisher/Studio logotype
Remove ads
注意:
- IPLS of ID3v2.3 maps both to TIPL (the "involved people list") and to TMCL (the "musician credits list").
- TDRC (recording time) consolidates TDAT (date), TIME (time), TRDA (recording dates), and TYER (year).
- TCOM, TEXT, TOLY, TOPE, and TPE1 can contain multiple values separated by a foreslash ("/").[来源请求]
Version 2.4 of the specification prescribes that all text fields (the fields that start with a T, except for TXXX) can contain multiple values separated by a null character. The null character varies by character encoding.
Remove ads
注释
参见
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads