关于mp3的歌词——ID3v2,Lyrics3v2及其他?mp3歌词是什么格式

因为一直用千千静听在电脑上听歌,我都是让他自动下载歌词然后本身嵌入到音频文件里面去,因为我感觉生存一大堆不必要的lrc文件实在是贫苦。有一次我发 明把mp3拷到mp3里面去,居然不能显示歌词。我的打火机确实是撑持内嵌歌词的,这首mp3也似的的确确用千千嵌入了歌词了的。所以很上火,原来千千内 嵌的歌词和我的打火机不兼容。难道创新的产品比较格路,本身搞个特殊的内嵌格局?当时也没太追究,只是在创新的网站没能患上到不论什么技术信息,就给放下了。
   现在,我可以重新研究这个问题了。在创新的随机光盘里,有1个类似iTunes的东东,彷佛可以编辑歌词然后内嵌。不过纵然好用,我也不能把硬盘里几个 G的mp3全手工一遍吧?光是ctrlc、ctrl v就能患上让我呕血了。患上找其它办法。众里寻他千百度公司了一圈发明很多的mp3标签修改软件,可是彷佛也没有我需要的。就这样折腾了半天,还是没有头 绪。
  这时候我想到了MiniLyrics迷你歌词。这个东东是专门用来对付歌词的,也许能帮我的忙。赶紧安装,才发明这是1个waigua式 的步伐,可以挂在MediaPlayer,Winamp之类的播放器上实现歌词的显示和下载等功能。我电脑上也就只有个WMP,也只好将就了。打开之后直 奔配置选项,果然找到了关于内嵌歌词的相干内容,收获不可以说半大:Minilyrics居然撑持三种内嵌歌词:ID3v2Synchronized Lyrics, ID3v2 Unsynchronized Lyrics, Lyrics3v2.用它看一下我千千嵌过的mp3,原来是Lyrics3v2格局的。管他三七二十一,把这三个格局的全写入mp3,再拿到打火机上实 验,居然显示歌词了,心中舒了口吻。再挨个试验,发明前两种格局,SynchronizedLyrics & ID3v2 UnsynchronizedLyrics均可以,单单Lyrics3v2不行。我笑了,因为很可笑:Lyrics3v2歌词是千千唯一撑持的,可是 Minilyrics的申明中写道"(Lyrics3v2)很少有播放器撑持该格局"。看来不是我的打火机怪异,而是我一直很顶它的千千太诡异。
   到此,问题彷佛处理完成了:换失千千,用Minilyrics就ok了。且慢!不要忘了,适才我是手工操作的呀,这显然不行,必必要自动的。其实人家 Minilyrics也当然是可以自动上彀搜刮歌词的,就像千千一样。可是有1个条件:没有歌词mp3的它才会搜刮下载&写入内嵌歌词。如果本身 有内嵌歌词(岂论何种格局)或者有接洽关系的lrc歌词 ,它就不会自动了。近况是:硬盘里的mp3基本都被千千自动写入了我不想要的Lyrics3v2歌词了!我哭!千千只能自动嵌入歌词,可木有自动抠出歌词的功能,要抠还是患上用手!
  擦干泪水,我认了,谁让咱不是Minilyrics的忠实用户呢!可是我也不痛恨千千,直到我写这些字的时候我还开着千千^_^
   高呼一声,我把眼看东西假想线移到窗外。后花圃里没有了大爷大娘们,可是风景还是那末美!我还是患上想办法做成这件事!既是Minilyrics具有写 入不错歌词的本能,最简单的办法就是让他干活;怎么样它才肯干活呢,来硬的生怕不行,它吃软的,给它动手术吧。也许只要挪用一下写歌词的函数,来个霸王硬 上弓,或者更简单,修改某个变量,棍骗它让它认为不存在歌词它就自觉地干活了。可是这反编译的工作对我来说太难了,学过的那点汇编都忘完了,Debug我 也忘了怎么用了,只患上再感慨一次,这脑壳真是愈来愈不好使了!
  看来脚踏两船是不行了,只好祭出最后一招:本身编程实现。读 Lyrics3v2的歌词,写入ID3v2的歌词。虽然还是要"手动",可是比那种重复的机械运动强多了。本来想做个控制台步儿伐就够了,毕竟都是后台操 作,用命令行也挺爽的。不过现在我还在学VC,就用VC编吧。编程的过程就不说了,从起头到完成统共也用了4天的时间。前期的准备工作也占用一些时间,我 把关于歌词的一些观点的东西总结一下:
  关于MP3标签
  MP3文件本身只有音频信息,诸如标题、歌手、专辑等等信息统统是没有的。 然而在windows资源办理器中查看mp3文件,或者用播放器时能瞥见这些信息,就是MP3标签的功绩了。MP3标签有多种格局,可是没有一项国际规 范,也即是说没有同一的规范。不同类型的标签,其结构、大小、存储的信息都不同。
  1.ID3v1 Tag
  这是比较早期的一种标 签,大部门软硬件,包孕window均可以识别。它存储在mp3文件的最后,长度固定为128字节,以“TAG”标志开首。用UltraEdit等软件可 以很容易瞥见这一点儿。这128本身又被分为固定大小的几段,分别存储歌手,专辑,评论,歌曲类型等最基本的信息。由于128字节的限制,ID3v1标签 中没有歌词信息;更为致命的1个缺点是,ID3v1标签位于mp3文件的结尾处,梗概当时的预设者没有预料到互联网技术的发作,使患上这类标签在流电视台 大行其道的今日变患上有些难堪:你患上等整个文件都缓和冲突完毕才气患上到曲目信息。可是,简单和兼容仍是它最大的优点:)
  2.ID3v2 Tag
   这是ID3v1之后若干年提出的一项新的标签格局,有多个子版本,常见的是v2.3.0.曾经瞥见有人说ID3v2放在mp3文件的开首是因为 ID3v1放在结尾而别无选择,这是不合纰缪的,底下我还要再说这个问题。很大程度上是因为上面提到的ID3v1放在结尾的缺点,放在开首的话可以在流电 视台中发挥优势。(事实上,这个标签的预设者为了获患上更大程度的利便,允许在文件结尾也放置ID3v2标签,但在ID3v1之前,以提高从结尾起头查寻 的速度)
  ID3v2标签的改进不啻如此。它泼天地扩大了标签的容量,是变长的,最大可达大约256MB(它用28bit来存储标签大 小,2^28)。这个数码大的令人吃惊,可以预计,这个标签格局未来100年也不会过时~_~所以存储歌词当然是小case了。不仅如此,ID3v2甚或 同时撑持同步歌词和不同步歌词,也就是前边提到的ID3v2Synchronized Lyrics 和 ID3v2 Unsynchronized Lyrics.关于这两种歌词我会在后遮挡面部的东西体申明。
  3.APEv2 Tag
  这是一品类似ID3v1的标签,其内容也很 简单,但大小不纯粹固定,一般稍大于ID3v1,内容也富厚一些,比若有增益信息。可是仍然不包罗歌词。其位置在mp3本身数值的后面,ID3v1标签和 其它储存安放在末梢的标签之前。标签以"APETAGEX"开首。对这个标签的认识纯粹来自千千静听,呵呵,不懂患上还有啥子其它的播放器撑持它。关于歌 词
  mp3的歌词分为两种:外置的歌词文件和内嵌的歌词。外置的歌词主要指.lrc格局的文这篇文章件。
  1.lrc歌词
   这是大多数播放器(包孕打火机)撑持的waigua歌词。对电脑上的播放软件来说,他可以在歌曲和歌词文件之间建立1个照射(接洽关系),这当然是很利 便的。可是对mp3播放机来说就没那末容易了,二者的文件名必须相同。(扩大名当然不同了:)好在千千给咱们供给了自动定名的功能,甚或在你路程经过过程 千千把mp3文件送出到可移动磁盘的时候,它还很知心肠问你要么要把接洽关系的歌词文件也烤过去,多好的软件!
  lrc格局其实就是纯文本,用notepad打开可以瞥见。举出例子
  [02:09.30][04:02.22]On a dark desert helloghway, cool wind inmy hair
   它的结构以行为单位,行首是用中括号[]括起来的时间,后面是歌词内容。也许你要问了,为啥子有两个时间标志呢?哈哈,lrc格局是很聪明的,对某些重 复的歌词,它就只写时间标签把内容省略了。同一行中不管有多少刻间标签,其歌词内容都是那1个。还有一点儿要申明,虽然是一行一行出现的,可是这些行没有 挨次的,也就是说那一些时间标签未必要定时间排序的。这样的目的也是为了编辑歌词的利便,比如你要插入一句歌词,不用再找它应该在啥子位置。
  2.ID3v2 Synchronized Lyrics
   这个歌词包罗在ID3v2标签中,代号是SYLT。它也是由很多多少小段构成(定时间挨次排列),每个小段包罗了时间标签和歌词内容,但具体结构和 lrc那种不同了。按其规范严格地说,每个小段应该对以1个音缀,这样把歌词分的很细很细,现实上也不用这么夸张。我的步伐里面就是还按一句一句的来。
  3.ID3v2 Unsynchronized Lyrics
   这个歌词也包罗在ID3v2标签中,代号是USLT。从字面儿可以看出,非同步歌词,抑或叫异步歌词,其不包罗时间信息,就是一会儿把歌词全显示出来。 这就显患上不那末吸惹人了,所以我的步伐中放弃了它,仅仅写入了ID3v2SynchronizedLyrics。趁便说一下,千千静听对这两种ID3歌 词都不撑持,而微软的MediaPlayer撑持。以前我也从没有见过WMP可以显示歌词的,其实它可以,而且能够编辑歌词。
  4.Lyrics3v2
   这就是千千静听的那个内嵌歌词格局。和上面的二者不同,它因此歌词信息的情势单独出现的,其实不凭借于某个mp3标签。他的位置在APEv2标签(如果 有的话)之后,ID3v1之前。开首标志是"LYRICSBEGIN",结束标志为"LYRICS200"。他的结构相对简单,基本上是照抄.lrc歌词 的格局。
  写了这么多,真要累死了,回去困觉喽。

你可能感兴趣的:(编程,windows,互联网,嵌入式,vc++)