什么是MP3 的 id3

ID3是什么? 

   http://www.douban.com/group/topic/1840903/
  ID3标签是MP3文件中用于描述音乐信息的数据元素(metadata)。我们知道,MP3实际上是MPEG 1 Layer 3的缩写,它只定义了一种数据压缩方式,并没有特别说明如何在文件中添加描述音乐本身的信息。ID3的出现解决了这个问题,它通过在MP3数据前面或者后面添加描述信息,让管理和组织MP3更容易。 
  ID3目前有多个版本,最常见的是ID3 V1.1和ID3 V2.4。 
   
  ID3的版本 
   
  如果没有ID3,那么人们只能根据文件名判断一首歌它是什么内容了,何况就算听出了是什么歌,它的演唱者、专辑名称你也未必背得下来,所以给MP3文件增加内置的标签是理所当然的事情。有趣的是,MP3的标签并没有一个ISO国际标准,ID3的各种版本目前只是一个近乎事实上的标准,并没有人强迫播放器或者编码程序必须支持它。 
  根据维基百科全书的解释(http://en.wikipedia.org/wiki/ID3),ID3 V1是由Eric Kemp在1996年发明的。ID3 V1是一组附加在音乐文件后面的数据,它的长度是固定的128字节。ID3V1.0的定义如下表: 
  其中流派一共定义了79种,流行的播放软件Winamp则把它扩展到了125种,从Blues到Noise到Dance Hall,非常丰富,在许多支持ID3编辑的软件中都可以看到这个列表,但是国内用户似乎不太在意这个标记,大多数人甚至不知道自己的歌曲到底属于哪一个分类。 
  这些内容一共只有128个字节,并不算累赘。由于附加在文件尾部,所以播放器不必考虑它的影响,即使不支持ID3标记也不会影响音乐的还原——某些很老的播放器确实可能会在播放到这里的时候发出噪音或者报错。但是标记在文件尾部也会造成一个问题,那就是如果还没有读到文件末尾,我们什么信息也看不到。对硬盘和闪存里面的歌曲这当然不是问题,但是如果你通过流媒体方式直接在网络上收听,就会发现它的缺陷了。 
  细心的人会注意到ID3V1.0没有包括曲目序号的定义,所以Michael Mutschler在1997年进行了改进,引入了版本1.1。通过占用备注字段的最后两个字节,用一个00字节作标记,另一个字节改为序号,可以让ID3支持曲目编号了。一个字节的空间让ID3 V1.1支持最高到255的曲目序号,考虑到一张唱片超过256个曲目的可能性极小,这个改进还是相当合理的。 
   
  有趣的工具—MP3ext 
   
  MP3ext是Windows的一个扩展工具,让你可以直接在Windows浏览器里面查看和编辑MP3标记信息,还能直接用图标告诉你文件的编码速率。它是一个功能强大的免费软件,可以在http://odin.mutschler.de/mp3ext/MP3ext.html以及http://download.pcpro.com.cn/下载,不过目前它对中文编码的支持还不算完美。另外,你有没有注意到它的作者就是ID3 V1.1的发明人? 
  ID3V1和V1.1实际上要求使用ISO 8859-1拉丁字母编码,但是很多人为了方便直接使用自己当前操作系统的代码页。大多数情况下这不算什么问题,但是在跨越语言平台的时候就会出现乱码等情况。例如你在中文操作系统下查看西班牙语的歌曲信息,可能就会看到奇怪的乱码,甚至某些ID3编辑软件可能处理不了中文。 
  随着ID3应用的普及,人们逐渐发现ID3V1过于简单了,很多感兴趣的信息无法加入,比如作曲者、歌词、演奏者、指挥等等进一步的信息无法附着其上,甚至连比较长的曲目名都处理不了,于是ID3V2的出现也就是顺理成章的了。 
  与死板的ID3V1不同,ID3V2是一个灵活的标签格式,它不但提供了更丰富的预定义字段和更长的数据空间,而且支持用户自定帧,它的长度也是可变的。于是,利用ID3V2,我们不但可以让MP3附带歌词,而且可以包括唱片封面图片、音色调节设置、甚至MTV影像和卡拉OK字幕。 
  ID3V2的灵活性和可扩展性让用户可以给音乐文件添加任何想得出来的相关信息。它支持最大256MB的数据,最长的数据帧可以达到16MB。所以如果你愿意,ID3V2增加的数据可以让附加信息庞大到比歌曲信息本身还要占据更多空间的地步。 
  缺省状况下,ID3V2附加于文件头部,但是这也不会影响不支持ID3V2的播放器,因为它特意设计为用“非同步”方式储存信息,不兼容的播放器会简单地跳过这一部分。在ID3V2.4的版本中用户也可以选择把它附加到文件尾部。把信息放到文件头部对于流媒体播放来说有很大优势——在听到音乐之间关于乐曲本身的信息就已经可以显示了。但是这么做的缺点是如果用工具软件改变了ID3的长度,那么整个文件都需要重新写入,效率受到影响。另外,ID3V2支持UNICODE,不同语言的信息可以比较好地互相兼容。 

http://en.wikipedia.org/wiki/ID3 

http://www.id3.org/ 

http://www.baidu.com/s?wd=id3&cl=3&ie=utf-8&sourceid=customizegoogle 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值