The following frames are declared in this draft.
- 4.20 AENC [[#sec4.20|Audio encryption]]
- 4.15 APIC [#sec4.15 Attached picture]
- 4.11 COMM [#sec4.11 Comments]
- 4.25 COMR [#sec4.25 Commercial frame]
- 4.26 ENCR [#sec4.26 Encryption method registration]
- 4.13 EQUA [#sec4.13 Equalization]
- 4.6 ETCO [#sec4.6 Event timing codes]
- 4.16 GEOB [#sec4.16 General encapsulated object]
- 4.27 GRID [#sec4.27 Group identification registration]
- 4.4 IPLS [#sec4.4 Involved people list]
- 4.21 LINK [#sec4.21 Linked information]
- 4.5 MCDI [#sec4.5 Music CD identifier]
- 4.7 MLLT [#sec4.7 MPEG location lookup table]
- 4.24 OWNE [#sec4.24 Ownership frame]
- 4.28 PRIV [#sec4.28 Private frame]
- 4.17 PCNT [#sec4.17 Play counter]
- 4.18 POPM [#sec4.18 Popularimeter]
- 4.22 POSS [#sec4.22 Position synchronisation frame]
- 4.19 RBUF [#sec4.19 Recommended buffer size]
- 4.12 RVAD [#sec4.12 Relative volume adjustment]
- 4.14 RVRB [#sec4.14 Reverb]
- 4.10 SYLT [#sec4.10 Synchronized lyric/text]
- 4.8 SYTC [#sec4.8 Synchronized tempo codes]
- 4.2.1 TALB [#TALB Album/Movie/Show title]
- 4.2.1 TBPM [#TBPM BPM (beats per minute)]
- 4.2.1 TCOM [#TCOM Composer]
- 4.2.1 TCON [#TCON Content type]
- 4.2.1 TCOP [#TCOP Copyright message]
- 4.2.1 TDAT [#TDAT Date]
- 4.2.1 TDLY [#TDLY Playlist delay]
- 4.2.1 TENC [#TENC Encoded by]
- 4.2.1 TEXT [#TEXT Lyricist/Text writer]
- 4.2.1 TFLT [#TFLT File type]
- 4.2.1 TIME [#TIME Time]
- 4.2.1 TIT1 [#TIT1 Content group description]
- 4.2.1 TIT2 [#TIT2 Title/songname/content description]
- 4.2.1 TIT3 [#TIT3 Subtitle/Description refinement]
- 4.2.1 TKEY [#TKEY Initial key]
- 4.2.1 TLAN [#TLAN Language(s)]
- 4.2.1 TLEN [#TLEN Length]
- 4.2.1 TMED [#TMED Media type]
- 4.2.1 TOAL [#TOAL Original album/movie/show title]
- 4.2.1 TOFN [#TOFN Original filename]
- 4.2.1 TOLY [#TOLY Original lyricist(s)/text writer(s)]
- 4.2.1 TOPE [#TOPE Original artist(s)/performer(s)]
- 4.2.1 TORY [#TORY Original release year]
- 4.2.1 TOWN [#TOWN File owner/licensee]
- 4.2.1 TPE1 [#TPE1 Lead performer(s)/Soloist(s)]
- 4.2.1 TPE2 [#TPE2 Band/orchestra/accompaniment]
- 4.2.1 TPE3 [#TPE3 Conductor/performer refinement]
- 4.2.1 TPE4 [#TPE4 Interpreted, remixed, or otherwise modified by]
- 4.2.1 TPOS [#TPOS Part of a set]
- 4.2.1 TPUB [#TPUB Publisher]
- 4.2.1 TRCK [#TRCK Track number/Position in set]
- 4.2.1 TRDA [#TRDA Recording dates]
- 4.2.1 TRSN [#TRSN Internet radio station name]
- 4.2.1 TRSO [#TRSO Internet radio station owner]
- 4.2.1 TSIZ [#TSIZ Size]
- 4.2.1 TSRC [#TSRC ISRC (international standard recording code)]
- 4.2.1 TSSE [#TSEE Software/Hardware and settings used for encoding]
- 4.2.1 TYER [#TYER Year]
- 4.2.2 TXXX [#TXXX User defined text information frame]
- 4.1 UFID [#sec4.1 Unique file identifier]
- 4.23 USER [#sec4.23 Terms of use]
- 4.9 USLT [#sec4.9 Unsychronized lyric/text transcription]
- 4.3.1 WCOM [#WCOM Commercial information]
- 4.3.1 WCOP [#WCOP Copyright/Legal information]
- 4.3.1 WOAF [#WOAF Official audio file webpage]
- 4.3.1 WOAR [#WOAR Official artist/performer webpage]
- 4.3.1 WOAS [#WOAS Official audio source webpage]
- 4.3.1 WORS [#WORS Official internet radio station homepage]
- 4.3.1 WPAY [#WPAY Payment]
- 4.3.1 WPUB [#WPUB Publishers official webpage]
- 4.3.2 WXXX [#WXXX User defined URL link frame]
- 更多详情:http://id3.org/id3v2.3.0
4.1. Unique file identifier(唯一文件标识符)
这个frame的目的是能够识别数据库中可能包含更多与内容相关的信息的音频文件。由于这种数据库的标准化超出了本文档的范围,因此所有frame都以一个以null-terminated的字符串开始,其中包含一个包含电子邮件地址的URL,或一个指向可以找到电子邮件地址的位置的链接,该位置属于负责该特定数据库实现的组织。有关数据库的问题应发送到指定的电子邮件地址。URL不应该用于实际的数据库查询。字符串“http://www.id3.org/dummy/ufid.html”应该用于测试。没有被告知的软件可以安全地删除这样的frames。'Owner identifier’必须非空(不仅仅是一个终止符)。‘Owner identifier’后面跟着实际的标识符,最长可达64字节。标签中可能有多个“UFID”帧,但只有一个具有相同的’Owner identifier’。
<Header for 'Unique file identifier', ID: "UFID">
Owner identifier <text string> $00
Identifier <up to 64 bytes binary data>
4.2. Text information frames
文本信息帧是最重要的帧,包含艺术家、专辑等信息。一个标签中可能只有一个文本信息帧。如果文本字符串后面跟着一个终止符($00(00)),所有以下信息都应该被忽略并且不被展示。所有文本帧标识符都以“T”开头。**只有文本帧标识符以“T”开头,“TXXX”帧除外。**所有文本信息帧的格式如下:
<Header for 'Text information frame', ID: "T000" - "TZZZ", excluding "TXXX" described in 4.2.2.>
Text encoding $xx
Information <text string according to encoding>
4.2.1. Text information frames - details
-
TALB
‘Album/Movie/Show title’ 帧 用于记录文件中(/声源)音频的标题。
-
TBPM
“BPM”帧包含音频主要部分的每分钟节拍数。BPM是一个整数,用数字字符串表示。
-
TCOM
'Composer(s)'框架用于表示作曲家的名字。它们用“/”字符分隔。Tom/Jerry/…
-
TCON
“Content type”以前仅存储为一个字节的数值,现在是一个数值字符串。您可以像ID3v1.1那样使用一种或几种类型,或者,由于不可能使用准确和最新的类别来维护类别列表,所以您可以定义自己的类别。
ID3v1类型的引用可以通过输入“(”作为第一个字节,后面跟着一个类型列表中的数字(附录a),并以“)”字符结束。这后面可选地跟着一个(refinement)细化,例如。“(21)”或“(4)欧洲迪斯科”。在同一个框架中可以有多个引用,例如:“(51)(39)”。如果(refinement)细化应该以“(”字符开始,它应该替换为“((”,例如:“(我能想出任何流派)”或“(55)((我认为……)”。以下新内容类型在ID3v2中定义,并以与数字内容类型相同的方式实现,例如:“(RX)”。
RX Remix CR Cover
-
TCOP
“Copyright message’”帧必须以年份和一个空格字符开头(5个字符),是为原始声音的版权所有者准备的,而不是音频文件本身。没有这个框架只意味着版权信息不可用或已被删除,不能被解释为声音属于公共领域。每次显示此字段时,该字段前必须加上“Copyright ©”。
-
TDAT
'Date’帧是DDMM格式的数字字符串,包含记录的日期。这个字段总是四个字符长。
-
TDLY
“Playlist delay”定义了播放列表中每首歌曲之间沉默的毫秒数。player 应该使用“ETC”帧,如果存在,跳过初始沉默和音频结束时的沉默,以匹配“Playlist delay”时间。时间表示为数字字符串。
-
TENC
“Encoded by”帧包含对音频文件进行编码的个人或组织的名称。如果音频文件也受编码器的版权保护,则此字段可能包含版权信息。
-
TEXT
“Lyricist(s) / Text writer(s)”(歌词和歌词作者)帧是针对录音中文字或歌词的作者。它们用“/”字符分隔。
-
TFLT
'File type’帧表示该标记定义的音频类型。定义了以下类型和细化(refinements):
MPG MPEG Audio /1 MPEG 1/2 layer I /2 MPEG 1/2 layer II /3 MPEG 1/2 layer III /2.5 MPEG 2.5 /AAC Advanced audio compression VQF Transform-domain Weighted Interleave Vector Quantization PCM Pulse Code Modulated audio
但也可以使用其他类型,但不是针对这些类型。它的使用方式类似于“TMED”框架中的预定义类型,但没有括号。如果此帧不存在,则假定音频类型为“MPG”。
-
TIME
“Time”帧是HHMM格式的数字字符串,包含录制的时间。这个字段总是四个字符长。
-
TIT1
如果声音属于更大的声音/音乐类别,则使用“Content group description” frame。例如,古典音乐通常被分类在不同的音乐部分(例如:古典音乐)。(《钢琴协奏曲》、《天气-飓风》)。
-
TIT2
“Title/Songname/Content description” frame 是作品的实际名称(例如:“慢板”,“飓风唐娜”)。
-
TIT3
“Subtitle/Description refine” frame 用于与内容标题直接相关的信息(例如: “Op. 16”或“温布利现场演出”)。
-
TKEY
“Initial key”帧包含声音开始的音乐键。它表示为一个最大长度为3个字符的字符串。ground keys用“A”、“B”、“C”、“D”、“E”、“F”和“G”表示,halfkeys 用“B”和“#”表示。Minor 用“m”表示。例如:“Cbm”。Off key仅用“o”表示。
-
TLAN
‘Language(s)’ frame 应该包含在音频中说或唱的文本或歌词的语言。根据ISO-639-2,该语言由三个字符表示。如果文本中使用了一种以上的语言,那么它们的语言代码应该根据它们的用法来跟随。
-
TLEN
“Length”帧包含音频文件的长度,以毫秒为单位,以数字字符串表示。
-
TMED
‘Media type’ 帧 描述声音来自哪个媒体。这可能是一个文本字符串,也可能是对下面列表中预定义媒体类型的引用。引用在“(”和“)”中进行,并可选地后跟文本细化(text refinement),例如:“(MC)有四个频道”。如果文本细化(text refinement)以“(”字符开始,则应以“((”替换,方法与“TCO”框架相同。预定义的细化附加在媒体类型之后,例如:(CD/A)或(VID/PAL/VHS)。
DIG Other digital media /A Analog transfer from media ANA Other analog media /WAC Wax cylinder /8CA 8-track tape cassette CD CD /A Analog transfer from media /DD DDD /AD ADD /AA AAD LD Laserdisc /A Analog transfer from media TT Turntable records /33 33.33 rpm /45 45 rpm /71 71.29 rpm /76 76.59 rpm /78 78.26 rpm /80 80 rpm MD MiniDisc /A Analog transfer from media DAT DAT /A Analog transfer from media /1 standard, 48 kHz/16 bits, linear /2 mode 2, 32 kHz/16 bits, linear /3 mode 3, 32 kHz/12 bits, nonlinear, low speed /4 mode 4, 32 kHz/12 bits, 4 channels /5 mode 5, 44.1 kHz/16 bits, linear /6 mode 6, 44.1 kHz/16 bits, 'wide track' play DCC DCC /A Analog transfer from media DVD DVD /A Analog transfer from media TV Television /PAL PAL /NTSC NTSC /SECAM SECAM VID Video /PAL PAL /NTSC NTSC /SECAM SECAM /VHS VHS /SVHS S-VHS /BETA BETAMAX RAD Radio /FM FM /AM AM /LW LW /MW MW TEL Telephone /I ISDN MC MC (normal cassette) /4 4.75 cm/s (normal speed for a two sided cassette) /9 9.5 cm/s /I Type I cassette (ferric/normal) /II Type II cassette (chrome) /III Type III cassette (ferric chrome) /IV Type IV cassette (metal) REE Reel(卷轴) /9 9.5 cm/s /19 19 cm/s /38 38 cm/s /76 76 cm/s /I Type I cassette (ferric/normal) /II Type II cassette (chrome) /III Type III cassette (ferric chrome) /IV Type IV cassette (metal)
-
TOAL
‘Original album/movie/show title’ frame 用于原始录音的标题(或声音来源),例如,如果文件中的音乐应该是之前发布的歌曲的翻唱。
-
TOFN
‘Original filename’ 帧 包含文件的更好的文件名,因为一些媒体不允许所需的文件名长度。文件名区分大小写,并包含其后缀。
-
TOLY
‘Original lyricist(s)/text writer(s)’ frame 用于原始录音的文本作者,例如,如果文件中的音乐应该是之前发布的歌曲的翻唱。文本写入器由“/”字符分隔。
-
TOPE
‘Original artist(s)/performer(s)’ frame 用于原始录音的表演者,例如,如果文件中的音乐应该是先前发布的歌曲的翻唱。表演者由“/”字符分隔。
-
TORY
‘Original release year’ frame 是指原始唱片发行的年份,例如,如果文件中的音乐应该是之前发行过的歌曲的翻唱。该字段的格式与“TYER” frame 相同。
-
TOWN
‘File owner/licensee’ frame 包含文件所有者或被许可方的名称及其内容。
-
TPE1
‘Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group’ (“首席艺术家/首席表演者/独奏家/表演团体”) frame 用于主要艺术家。它们用“/”字符分隔。
-
TPE2
‘Band/Orchestra/Accompaniment’ (“乐队/管弦乐队/伴奏”) frame 用于记录中关于表演者的附加信息。
-
TPE3
‘Conductor’ frame 用于表示乐队指挥的名称。
-
TPE4
‘Interpreted, remixed, or otherwise modified by’ frame (“诠释、再混音或以其他方式修改”)包含了更多关于调整版录制音乐背后的人的信息,以及对另一个现有作品的类似解释。
-
TPOS
“Part of a set” 帧 是一个数字字符串,描述音频来自于集合的哪一部分。如果“TALB”帧中描述的源被划分为几个介质,例如双CD,则使用此帧。该值可以扩展为“/”字符和包含集合中部分总数的数字字符串。如。“1/2”。
-
TPUB
“Publisher” frame 只包含标签或发布者的名称。
-
TRCK
‘Track number/Position in set’ frame 是一个数字字符串,包含音频文件在其原始录音中的排序数。这可以扩展为一个“/”字符和一个包含原始录音中曲目/元素总数的数字字符串。如。“4/9”。
-
TRDA
‘Recording dates’ frame 旨在作为“TYER”、“TDAT”和“TIME”框架的补充。如。“6月4日-7日,6月12日”与“TYER”框架相结合。
-
TRSN
“‘Internet radio station name’ frame 包含音频流的互联网无线电台的名称。
-
TRSO
‘Internet radio station owner’ frame 包含音频流的互联网无线电台所有者的名称。
-
TSIZ
“Size”帧包含以字节为单位的音频文件大小,不包括ID3v2标记,以数字字符串表示。
-
TSRC
“ISRC”帧应包含国际标准记录码(ISRC)(12个字符)。
-
TSSE
‘Software/Hardware and settings used for encoding’ frame 包括使用的音频编码器及其在文件编码时的设置。硬件是指硬件编码器,而不是运行程序的计算机。
-
TYER
'Year’帧是记录年份的数字字符串。这个帧总是四个字符长(直到10000年)。
4.2.2. User defined text information frame
此帧用于与其他“T”帧类似的关于音频文件的单字符串文本信息。帧体由字符串的描述组成,以终止字符串表示,后面跟着实际字符串。每个标签中可能有多个“TXXX”帧,但只有一个具有相同的描述。
<Header for 'User defined text information frame', ID: "TXXX">
Text encoding $xx
Description <text string according to encoding> $00 (00)
Value <text string according to encoding>
4.3. URL link frames
有了这些框架,动态数据,如网页旅游信息,价格信息或普通新闻可以添加到标签。一个标签中只能有一个URL链接帧,除非在帧描述中另有说明。如果文本字符串后面跟着一个终止符($00(00)),所有以下信息都应该被忽略,不显示。所有URL链接帧标识符都以“W”开头。只有URL链接帧标识符以“W”开头。所有URL链接帧都有以下格式:
<Header for 'URL link frame', ID: "W000" - "WZZZ", excluding "WXXX" described in 4.3.2.>
URL <text string>
4.3.1. URL link frames - details
-
WCOM
‘Commercial information’ frame 是一个指向网页的URL,上面有专辑可以在哪里买到等信息。标签中可能有多个“WCOM”帧,但内容不同。
-
WCOP
‘Copyright/Legal information’ frame 是一个指向网页的URL,其中描述了文件的使用条款和所有权。
-
WOAF
‘Official audio file webpage’ frame 是一个指向文件特定网页的URL。
-
WOAR
‘Official artist/performer webpage’ frame 是指向艺术家官方网页的URL。如果音频包含多个表演者,但内容不相同,则标记中可能有多个“WOAR”帧。
-
WOAS
The ‘Official audio source webpage’ frame 是指向音频文件来源的官方网页的URL,例如电影。
-
WORS
‘Official internet radio station homepage’ frame 包含一个指向互联网电台主页的URL。
-
WPAY
“Payment” frame 是一个指向网页的URL,该网页将处理此文件的支付过程。
-
WPUB
‘Publishers official webpage’ frame 是一个指向出版商官方网页的URL。
4.3.2. User defined URL link frame
该帧用于与音频文件相关的URL链接,与其他“W”帧类似。帧主体由字符串的描述组成,以终止字符串表示,后面跟着实际的URL。URL总是用ISO-8859-1编码。每个标签中可能有多个“WXXX”帧,但只有一个具有相同的描述。
<Header for 'User defined URL link frame', ID: "WXXX">
Text encoding $xx
Description <text string according to encoding> $00 (00)
URL <text string>
4.4. Involved people list
由于可能有很多人以各种方式为音频文件做出贡献,例如音乐家和技术人员,‘Text information frames’(“文本信息帧”)通常不足以列出参与项目的每个人。 ’Involved people list‘(“涉及人员名单”)是一个包含涉及人员姓名和涉及方式的框架。主体简单地包含一个带有介入人员的终止字符串,然后直接又是一个新的带有介入人员的终止字符串,依此类推。每个标签中可能只有一个“IPLS”帧。
<Header for 'Involved people list', ID: "IPLS">
Text encoding $xx
People list strings <text strings according to encoding>
4.5. Music CD identifier
此框架用于来自CD的音乐,以便能够在CDDB等数据库中识别CD。帧由CD目录的二进制转储TOC组成,它是一个4字节的头,然后CD上的 8 bytes/track 加上8字节的’lead out’,最大804字节。CD上每个音轨开始的偏移量应该用每个音轨四个字节的绝对CD帧地址来描述,而不是用绝对时间。这个frame需要一个当前有效的“TRCK”frame ,即使CD只有一个track。每个标记中可能只有一个“MCDI”帧。
<Header for 'Music CD identifier', ID: "MCDI">
CD TOC <binary data>
4.6. Event timing codes
这个框架允许与歌曲或声音中的关键事件同步。header是:
<Header for 'Event timing codes', ID: "ETCO">
Time stamp format $xx
其中时间戳格式为:
$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
Abolute time 意味着每个戳包含从文件开始的时间。
下面是关键事件的列表,格式如下:
Type of event $xx
Time stamp $xx (xx ...)
‘Time stamp’ 如果直接在声音的开头或在前一个事件之后被设置为零。所有事件都应按时间顺序排列。事件类型如下:
$00 padding (has no meaning)
$01 end of initial silence
$02 intro start
$03 mainpart start
$04 outro start
$05 outro end
$06 verse start
$07 refrain start
$08 interlude start
$09 theme start
$0A variation start
$0B key change
$0C time change
$0D momentary unwanted noise (Snap, Crackle & Pop)
$0E sustained noise
$0F sustained noise end
$10 intro end
$11 mainpart end
$12 verse end
$13 refrain end
$14 theme end
$15-$DF reserved for future use
$E0-$EF not predefined sync 0-F
$F0-$FC reserved for future use
$FD audio end (start of silence)
$FE audio file ends
$FF one more byte of events follows (all the following bytes with the value $FF have the same function)
不需要终止诸如“intro start”之类的启动事件。'Not predefined sync’s ($E0-EF)用于用户事件。你可能想要同步你的音乐到一些东西,如设置在舞台上的explosion,打开你的屏幕保护程序等。
每个标签中可能只有一个“ETCO”帧。
4.7. MPEG location lookup table
为了提高MPEG音频文件中跳跃的性能和准确性,在文件中不同位置具有时间码的帧可能很有用。ID3v2帧包含软件可以使用的引用去计算文件中的位置。在帧头之后是一个描述符,表示每次引用时’frame counter’应该增加多少。如果这个值是2,那么第一个参考点指向第二帧,第二个参考点指向第四帧,第三个参考点指向第六帧,以此类推。以类似的方式,“引用之间的字节”和“引用之间的毫秒”分别指出字节和毫秒。
每个引用由两部分组成;一定数量的比特,定义为“比特字节偏差”,描述了“引用之间的字节”与现实之间的差异,以及一定数量的比特,定义为“比特毫秒偏差”,描述了“引用之间的毫秒”与现实之间的差异。每个引用中的比特数,即。‘字节偏移位’+‘毫秒偏移位’,必须是4的倍数。每个标签中可能只有一个“MLLT”帧。
<Header for 'Location lookup table', ID: "MLLT">
MPEG frames between reference $xx xx
Bytes between reference $xx xx xx
Milliseconds between reference $xx xx xx
Bits for bytes deviation $xx
Bits for milliseconds dev. $xx
然后,对于每一个引用包括以下数据;
Deviation in bytes %xxx....
Deviation in milliseconds %xxx....
4.8. Synchronised tempo codes
为了更准确地描述音乐作品的节奏,可以使用这个frame。在报头后面跟着一个字节,描述应该使用哪种时间戳格式。然后遵循一个或多个节奏代码。每个节拍码由一个节拍部分和一个拍子部分组成。节拍是用一个或两个字节描述的BPM。如果第一个字节的值为$FF,那么后面会有一个字节,它会被添加到第一个字节,给出2 - 510 BPM的范围,因为$00和$01是保留的。$00用于描述无节拍的时间段,这与无音乐的时间段不同。$01用来表示一个单拍,后面跟着一个无拍的周期。
节奏描述符后面跟着一个时间戳。每当音乐的节奏发生变化时,节奏描述符就会向player表明这一点。所有节奏描述符都应该按照时间顺序排列。在一个时间段内的第一个beat-stroke与节拍描述发生在同一时间。每个标签中可能只有一个“SYTC”帧。
<Header for 'Synchronised tempo codes', ID: "SYTC">
Time stamp format $xx
Tempo data <binary data>
其中时间戳格式为:
$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
Absolute time意味着每个戳包含从文件开始的时间。
4.9. Unsychronised lyrics/text transcription
该frame包含歌曲的歌词或其他声乐活动的文本转录。头包括编码描述符和内容描述符。正文由实际文本组成。“内容描述符”是一个终止字符串。如果没有输入描述符,“内容描述符”仅为$00(00)。文本中允许使用换行符。每个标签中可能有多个“Unsychronised lyrics/text transcription”帧,但只有一个具有相同的语言和内容描述符。
<Header for 'Unsynchronised lyrics/text transcription', ID: "USLT">
Text encoding $xx
Language $xx xx xx
Content descriptor <text string according to encoding> $00 (00)
Lyrics/text <full text string according to encoding>
4.10. Synchronised lyrics/text
这是另一种将所说或唱的歌词作为文本合并到音频文件中的方法,不过这次要与音频同步。它也可以用来描述发生在舞台上或与音频同步的屏幕上的事件。报头包含一个内容描述符,用终止文本字符串表示。如果没有输入描述符, ‘Content descriptor’ 仅为$00(00)。
<Header for 'Synchronised lyrics/text', ID: "SYLT">
Text encoding $xx
Language $xx xx xx
Time stamp format $xx
Content type $xx
Content descriptor <text string according to encoding> $00 (00)
Encoding:
$00 ISO-8859-1 character set is used => $00 is sync identifier.
$01 Unicode character set is used => $00 00 is sync identifier.
Content type:
$00 is other
$01 is lyrics
$02 is text transcription
$03 is movement/part name (e.g. "Adagio")
$04 is events (e.g. "Don Quijote enters the stage")
$05 is chord (e.g. "Bb F Fsus")
$06 is trivia/'pop up' information
时间戳格式为:
$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
Absolute time意味着每个戳包含从文件开始的时间。
帧头后面的文本与 unsynchronised lyrics/text transcription 在一个主要方面有所不同。每个音节(或编码器认为方便的任何文本大小)都是一个以空结尾的字符串,后面跟着一个时间戳,表示它在声音文件中的位置。因此,每个同步都有以下结构:
Terminated text to be synced (typically a syllable)
Sync identifier (terminator to above string) $00 (00)
Time stamp $xx (xx ...)
“Time stamp”被设置为零,如果直接位于声音的开头,整个同步将被省略。所有时间戳都应该按时间顺序排序。同步可以被认为是后续字符串的验证器。
换行符($0A)允许出现在所有的“SYLT”帧中,并且应该在内容类型为$03 - $04的帧中的每个条目(名称,事件等)之后使用。
关于空格字符的一些注意事项:分隔单词的空格应该标记新单词的开始,因此出现在新单词的第一个音节之前。这对换行字符也是有效的。后面有逗号的音节不应该用同步音分开(音节和逗号都应该在同步音之前)。
一个例子:“USLT”段落
"Strangers in the night" $0A "Exchanging glances"
将“SYLT”编码为:
"Strang" $00 xx xx "ers" $00 xx xx " in" $00 xx xx " the" $00
xx xx " night" $00 xx xx 0A "Ex" $00 xx xx "chang" $00 xx xx
"ing" $00 xx xx "glan" $00 xx xx "ces" $00 xx xx
每个标记中可能有多个“SYLT”帧,但只有一个具有相同的语言和内容描述符。
4.11. Comments
此frame用于不适合任何其他框架的任何类型的全文信息。它由一个帧头组成,后面跟着编码、语言和内容描述符,并以实际的注释作为文本字符串结束。注释文本字符串中允许使用换行符。每个标记中可能有多个注释帧,但只有一个具有相同的语言和内容描述符。
<Header for 'Comment', ID: "COMM">
Text encoding $xx
Language $xx xx xx
Short content descrip. <text string according to encoding> $00 (00)
The actual text <full text string according to encoding>
4.12. Relative volume adjustment
这是一个比前面的function 更主观的function 。它允许用户在播放文件时说出他想在每个通道上增加/减少多少音量。目的是能够将所有文件对齐到一个参考卷,这样您就不必不断地更改卷。这个框架也可以用来平衡调整音频。如果音量峰值水平已知,则可以用’Peak volume right’ and ‘Peak volume left’ field进行描述。如果不知道峰值音量,这些字段可以保留为零,如果没有其他数据,则完全省略。每个标签中可能只有一个“RVAD”帧。
<Header for 'Relative volume adjustment', ID: "RVAD">
Increment/decrement %00xxxxxx
Bits used for volume descr. $xx
Relative volume change, right $xx xx (xx ...)
Relative volume change, left $xx xx (xx ...)
Peak volume right $xx xx (xx ...)
Peak volume left $xx xx (xx ...)
在自增/自减字段中,位0用于表示右通道,位1用于表示左通道。1是递增,0是递减。
对于MPEG 2 layer I、II、III和MPEG 2.5,‘bits used for volume description’ field 通常$10(16位)。这个值可能不是$00。卷总是用整个字节表示,当 ‘bits used for volume description’ 不是8的倍数时,在开头填充(最高位)。
这个数据锁后面可选地跟着left and right back channels的卷定义。如果这个信息被追加到帧,前两个通道将被视为前通道。在自增/自减字段中,位2用于表示右返回信道,位3用于表示the left back channel.
Relative volume change, right back $xx xx (xx ...)
Relative volume change, left back $xx xx (xx ...)
Peak volume right back $xx xx (xx ...)
Peak volume left back $xx xx (xx ...)
如果出现了中心通道调整,则在左后通道和右后通道之后追加以下内容到现有帧。中心信道由增加/减少字段中的第4位表示。
Relative volume change, center $xx xx (xx ...)
Peak volume center $xx xx (xx ...)
如果存在低音通道调整,则在中心通道之后追加以下内容到现有帧。低音信道由增加/减少字段中的第5位表示。
Relative volume change, bass $xx xx (xx ...)
Peak volume bass $xx xx (xx ...)
4.13. Equalisation(均衡)
这是另一个主观的、对齐的frame。它允许用户在音频文件中预先定义均衡曲线。每个标签中可能只有一个“EQUA”帧。
<Header of 'Equalisation', ID: "EQUA">
Adjustment bits $xx
‘adjustment bits’ field 定义了用于表示调整的位数。这通常是$10(16位)的MPEG 2 layer I, II和III和MPEG 2.5。这个值可能不是$00。
接下来是2个字节+('adjustment bits’四舍到最近的字节),为以下格式的每个均衡频带,给出0 - 32767Hz的频率范围:
Increment/decrement %x (MSB of the Frequency)
Frequency (lower 15 bits)
Adjustment $xx (xx ...)
递增/递减位为1表示递增,0表示递减。均衡频带应根据频率逐渐有序。所有频率都不需要声明。读取软件中的均衡曲线应该在这一帧的值之间进行插值。三个相等的调整三个后续频率。一个频率在坐标系中应该只描述一次。
4.14. Reverb(混响)
这又是一个主观问题。你可以在这里调整不同种类的回声。左/右混响是ms中每次反弹之间的延迟。左/右混响是应该进行的反弹次数。$FF等于无限次的反弹。反馈是应返回给下一次回声反弹的音量量。$00是0% $FF是100%如果该值为$7F,则第一次反弹的成交量将减少50%,第二次反弹的成交量将减少50%,以此类推。从左到左表示从左弹跳发出的声音将在左侧扬声器中播放,而从左到右表示从左弹跳发出的声音将在右侧扬声器中播放。
“从左到右预混”是在应用任何混响之前,将左侧声音混合到右侧的量,其中$00 id为0%,$FF为100%。“从右向左预混”做同样的事情,但从右向左。将两个预混滤波器都设置为$FF将导致单声道输出(如果混响是对称应用的)。每个标签中可能只有一个“RVRB”帧。
<Header for 'Reverb', ID: "RVRB">
Reverb left (ms) $xx xx
Reverb right (ms) $xx xx
Reverb bounces, left $xx
Reverb bounces, right $xx
Reverb feedback, left to left $xx
Reverb feedback, left to right $xx
Reverb feedback, right to right $xx
Reverb feedback, right to left $xx
Premix left to right $xx
Premix right to left $xx
4.15. Attached picture
此frame包含与音频文件直接相关的图片。图像格式是MIME类型和Image的子类型。在省略MIME媒体类型名称的情况下,将隐含“image/”。当需要互操作性时,应使用“image/png”或“image/jpeg”图片格式。描述是对图片的简短描述,表示为终止的文本字符串。描述的最大长度为64个字符,但可以为空。一个文件中可能有多张图片,每张图片都在各自的“APIC”框架中,但只有一张图片具有相同的内容描述符。可能只有一张图片类型分别声明为图片类型$01和$02。有可能通过使用“MIME类型”“——>”只放一个图像文件的链接,并有一个完整的URL而不是图片数据。但是,应谨慎使用链接文件,因为存在文件分离的风险。
<Header for 'Attached picture', ID: "APIC">
Text encoding $xx
MIME type <text string> $00
Picture type $xx
Description <text string according to encoding> $00 (00)
Picture data <binary data>
图片类型:
$00 Other
$01 32x32 pixels 'file icon' (PNG only)
$02 Other file icon
$03 Cover (front)
$04 Cover (back)
$05 Leaflet page
$06 Media (e.g. lable 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
4.16. General encapsulated object
在这个frame中,任何类型的文件都可以被封装。在报头之后,‘Frame size’和’Encoding’紧跟’MIME type’,表示为用ISO-8859-1编码的终止字符串。文件名区分大小写,编码为’Encoding’。然后,内容描述为终止字符串,编码为’Encoding’。框架中的最后一个东西是实际的对象。前两个字符串可以省略,只留下它们的结尾。每个标记中可能有多个“GEOB”帧,但只有一个具有相同的内容描述符。
<Header for 'General encapsulated object', ID: "GEOB">
Text encoding $xx
MIME type <text string> $00
Filename <text string according to encoding> $00 (00)
Content description $00 (00)
Encapsulated object <binary data>
4.17. Play counter
这只是一个文件被播放次数的计数器。该值在每次文件开始播放时加1。每个标签中可能只有一个“PCNT”帧。当计数器达到1时,在计数器前面插入一个字节,从而使计数器变大8位。计数器必须至少有32位。
<Header for 'Play counter', ID: "PCNT">
Counter $xx xx xx xx (xx ...)
4.18. Popularimeter
这个帧的目的是指定音频文件有多好。很多有趣的应用都可以在这个frame中找到,比如播放列表,播放列表中有更多更好的音频文件,或者它可以用来分析一个人的品味,通过比较人们的配置文件来找到其他“好”文件。框架非常简单。它包含发送给用户的电子邮件地址、一个评级字节和一个四字节播放计数器,每次播放文件都会增加一个。电子邮件是一个终止的字符串。评分是1-255,其中1是最差的,255是最好的。0是未知数。如果不需要personal counter,可以省略。当计数器达到所有1时,在计数器前面插入一个字节,从而使计数器在与播放计数器(“PCNT”)相同的距离内大8位。每个标签中可能有多个“POPM”帧,但只有一个具有相同的电子邮件地址。
<Header for 'Popularimeter', ID: "POPM">
Email to user <text string> $00
Rating $xx
Counter $xx xx xx xx (xx ...)
4.19. Recommended buffer size
有时,发送音频文件的服务器意识到传输或编码问题导致音频流中断。在这些情况下,服务器可以使用这个框架来推荐缓冲区的大小。如果’embedded info flag’为true(1),那么这表明’Buffer size’中描述的最大大小的ID3标记可能出现在audio stream中。在这种情况下,如果音频是MPEG编码的,则标记应该位于两个MPEG帧之间。如果下一个标签的位置已知,则可以使用’offset to next tag’。偏移量是从该帧所在标签的结束到下一帧标头的第一个字节。这个字段可以省略。通常不建议使用嵌入式标签,因为这可能会导致当前软件/硬件无法预测的行为。
对于像流式音频这样的应用程序,将标签嵌入到音频流中可能是一个好主意。如果客户端连接到像HTTP这样的单独连接,并且有可能以一个标记开始每一次传输,那么这个标记应该包括一个’recommended buffer size’ frame。如果客户端连接到流中的任意点,比如无线电或多播,那么每个标签中都应该包含’recommended buffer size’ frame。在初始/第一个标记之后拾取的每个标记都被认为是前一个标记的更新。例如,如果在第一个接收到的标签中有一个“TIT2”帧,在第二个标签中也有一个,那么第一个应该被第二个“替换”。
“Buffer size”应该保持最小值。每个标签中可能只有一个“RBUF”帧。
<Header for 'Recommended buffer size', ID: "RBUF">
Buffer size $xx xx xx
Embedded info flag %0000000x
Offset to next tag $xx xx xx xx
4.20. Audio encryption(音频加密)
这个帧表示实际的音频流是否被加密,以及由谁加密。由于这种加密方案的标准化超出了本文档的范围,所有“AENC”帧都以一个包含电子邮件地址的URL结尾的字符串开始,或者是一个指向可以找到电子邮件地址的位置的链接,这属于负责此特定加密音频文件的组织。有关加密音频的问题应发送到指定的电子邮件地址。如果在“帧大小”后面直接找到$00,并且音频文件确实是加密的,那么整个文件可能被认为是无用的。
在’Owner identifier’之后,可以指定指向音频未加密部分的指针。‘Owner identifier’(“预览开始”)和’Preview length’(“预览长度”)是以帧为单位描述的。如果没有未加密的部分,这些字段应该保留为零。在’Preview length’() “预览长度”)字段之后,可选地跟随音频解密所需的数据锁。标签中可能有多个“AENC”帧,但只有一个具有相同的 ‘Owner identifier’.
<Header for 'Audio encryption', ID: "AENC">
Owner identifier <text string> $00
Preview start $xx xx
Preview length $xx xx
Encryption info <binary data>
4.21. Linked information
为了尽可能减少空间浪费,可以使用此帧链接来自另一个ID3v2标签的信息,这些ID3v2标签可能位于另一个音频文件中,也可能单独位于二进制文件中。建议仅在文件存储在CD-ROM或其他文件分离风险较低的情况下使用此方法。帧包含一个帧标识符(应该链接到这个标记中的帧),一个URL字段(给出帧所在文件的引用),以及额外的ID数据(如果需要的话)。应该从该链接指向的文件中找到的第一个标记检索数据。一个标签中可能有多个“LINK”帧,但只有一个具有相同的内容。链接帧被认为是标签的一部分,并具有与标签的物理部分相同的限制(即只允许一个“RVRB”帧,无论是否链接)。
<Header for 'Linked information', ID: "LINK">
Frame identifier $xx xx xx
URL <text string> $00
ID and additional data <text string(s)>
可以被链接且不需要额外数据的帧有“IPLS”、“MCID”、“ETCO”、“MLLT”、“SYTC”、“RVAD”、“EQUA”、“RVRB”、“RBUF”、文本信息帧和URL链接帧。
“TXXX”、“APIC”、“GEOB”和“AENC”帧可以作为附加ID数据与内容描述符链接。
“COMM”,“SYLT”和“USLT”帧可以与三个字节的语言描述符直接链接,后面跟着一个内容描述符作为额外的ID数据。
4.22. Position synchronisation frame
这个帧 向侦听器传递了他获得音频流到多远的信息;实际上,它声明了流中第一帧的时间偏移。框架布局为:
<Head for 'Position synchronisation', ID: "POSS">
Time stamp format $xx
Position $xx (xx ...)
其中时间戳格式为:
$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
并且位置是听者开始接收音频的位置,即下一帧的开始。如果该帧用于文件的开头,则该值始终为0。每个标签中可能只有一个“POSS”帧。
4.23. Terms of use frame
这个frame包含了对文件的使用条款和所有权的简要描述。关于法律条款的更详细资料可通过“WCOP”框架获得。文本中允许换行。一个标签中可能只有一个“USER”帧。
<Header for 'Terms of use frame', ID: "USER">
Text encoding $xx
Language $xx xx xx
The actual text <text string according to encoding>
4.24. Ownership frame
Ownership frame可以用作已完成交易的提醒,如果已签名,则用作证明。注意,“USER”和“TOWN”框架很适合与这个框架结合使用。帧开始,在帧ID,大小和编码字段之后,有一个’price paid '字段。此字段的前三个字符包含用于交易的货币,根据ISO-4217字母货币代码进行编码。与此连接的是实际支付的价格,作为使用“.”作为小数分隔符的数字字符串。接下来是一个8个字符的日期字符串(YYYYMMDD),后面是一个字符串,该字符串的最后一个字段是卖家的名字。一个标签中可能只有一个“OWNE”帧。
<Header for 'Ownership frame', ID: "OWNE">
Text encoding $xx
Price payed <text string> $00
Date of purch. <text string>
Seller <text string according to encoding>
4.25. Commercial frame
这个frame通过捆绑所有需要的信息,在同一个标签中支持多个相互竞争的报价。这使得这个框架相当复杂,但这是一个更简单的解决方案,如果一个人试图实现相同的结果与几个框架。帧开始于帧ID、大小和编码字段之后,是一个价格字符串字段。价格由一个三个字符的货币代码构成,该代码根据ISO-4217字母货币代码编码,后面跟着一个数字,其中“.”用作小数分隔符。在价格字符串中,几个价格可以连接在一起,用“/”字符分隔,但每种类型可能只有一种货币。
价格字符串后面是一个YYYYMMDD格式的8个字符的日期字符串,描述价格的有效期。在这之后是一个联系URL,用户可以通过它联系卖家,后面是一个字节的“received as”字段。它描述了音频是如何根据以下列表购买的:
$00 Other
$01 Standard CD album with other songs
$02 Compressed audio on CD
$03 File over the Internet
$04 Stream over the Internet
$05 As note sheets
$06 As note sheets in a book with other sheets
$07 Music on other media
$08 Non-musical merchandise
接下来是一个带有卖家名称的终止字符串,后面是一个带有简短产品描述的终止字符串。最后一件事是包含公司标志的能力。第一个是’Picture MIME type’ field,包含使用哪种图片格式的信息。在省略MIME媒体类型名称的情况下,将隐含“image/”。目前只允许“image/png”和“image/jpeg”。该格式字符串后面是二进制图片数据。如果要附加无图,最后两个字段可以省略。
<Header for 'Commercial frame', ID: "COMR">
Text encoding $xx
Price string <text string> $00
Valid until <text string>
Contact URL <text string> $00
Received as $xx
Name of seller <text string according to encoding> $00 (00)
Description <text string according to encoding> $00 (00)
Picture MIME type <string> $00
Seller logo <binary data>
4.26. Encryption method registration
要识别一个帧是用哪种方法加密的,加密方法必须注册在该帧的标记中。 ‘Owner identifier’ 是一个以空结尾的字符串,包含一个包含电子邮件地址的URL,或一个指向可以找到电子邮件地址的位置的链接,属于负责这种特定加密方法的组织。有关加密方法的问题应发送到指定的电子邮件地址。Method symbol’在整个标签中包含一个与该方法相关联的值。低于$80的值将被保留。Method symbol’后面可选地跟加密的特定数据。在一个标签中可能有几个“ENCR”帧,但只有一个包含相同的符号,只有一个包含相同的所有者标识符。该方法必须在标记中的某个地方使用。更多信息请参见第3.3.1节,标志j。
<Header for 'Encryption method registration', ID: "ENCR">
Owner identifier <text string> $00
Method symbol $xx
Encryption data <binary data>
4.27. Group identification registration
这个帧可以对其他不相关的帧进行分组。当需要对某些帧进行签名时,可以使用这个选项。为了识别哪些帧属于一组帧,必须在该帧的标签中注册一个组标识符。‘Owner identifier’ 是一个以空结尾的字符串,包含一个包含电子邮件地址的URL,或一个指向可以找到电子邮件地址的位置的链接,属于负责分组的组织。有关分组的问题应发送到指定的电子邮件地址。 ‘Group symbol’ 包含一个值,在整个标签中将帧与该组关联起来。低于$80的值将被保留。 ‘Group symbol’ 后面可选择跟随一些组特定的数据,例如数字签名。一个标签中可能有几个“GRID”帧,但只有一个包含相同的符号,只有一个包含相同的所有者标识符。组符号必须在标记中的某处使用。更多信息请参见第3.3.1节,标志j。
<Header for 'Group ID registration', ID: "GRID">
Owner identifier <text string> $00
Group symbol $xx
Group dependent data <binary data>
4.28. Private frame
该frame用于包含来自软件生产者的信息,该软件生产者的程序使用这些信息,而不适合其他框架。帧由’Owner identifier’字符串和二进制数据组成。‘Owner identifier’ 是一个以空结束的字符串,包含一个URL,其中包含一个电子邮件地址,或一个链接到一个可以找到电子邮件地址的位置,该位置属于负责该帧的组织。有关框架的问题应发送到指定的电子邮件地址。标签可以包含多个“PRIV”帧,但内容不同。建议保持尽可能低的“PRIV”帧数。
<Header for 'Private frame', ID: "PRIV">
Owner identifier <text string> $00
The private data <binary data>
5. The unsynchronisation scheme
‘unsynchronisation scheme’ 的唯一目的是使ID3v2标签尽可能与现有软件兼容。如果文件只是要由新软件处理,那么’unsynchronisation scheme’ 标记是没有用的。不同步只能与MPEG 2 layer I, II和III以及MPEG 2.5文件进行。
每当在标记中发现一个 false synchronisation时,在第一个 false synchronisation字节之后插入一个零字节。ID3编码器应该修改的正确同步格式如下:
%11111111 111xxxxx
并应替换为:
%11111111 00000000 111xxxxx
这有一个副作用,所有$FF 00组合都必须被改变,所以它们不会受到解码过程的影响。因此,在不同步期间,所有的$FF 00组合必须被$FF 00 00组合替换。
为了指示不同步的使用,应该设置’ID3 flags’ 中的第一个位。只有当标签包含一个false synchronisation时,才应该设置这个位。只有当标签不包含任何false synchronisations时,这个bit应当被清除。
请记住,如果编码器使用了压缩方案,那么不同步方案应该在之后应用。当解码一个压缩的’unsynchronised’文件时,应该先解析’unsynchronisation scheme’,然后解压缩。
如果标签中的最后一个字节是$FF,并且需要消除标签中的错误同步,那么至少应该添加一个字节的填充。
6. Copyright
Copyright © Martin Nilsson 1998. All Rights Reserved.
本文件及其翻译可以复制并提供给他人,对本文件进行评论或以其他方式解释或协助其实施的衍生作品可以全部或部分地准备、复制、出版和分发,前提是在所有这些副本和衍生作品中都包含对本文件的引用。但是,本文件本身不能以任何方式修改,也不能作为原始文件重新发布。
上述授予的有限权限是永久的,不会被撤销。
本文件和此处包含的信息是在“现状”的基础上提供的,作者不承担任何明示或默示的保证,包括但不限于任何保证,即此处信息的使用不会侵犯任何权利或任何默示的适销性或适合于特定目的的保证。
7. References
[CDDB]光盘数据库http://www.cddb.com
[ID3v2] Martin Nilsson,“非正式标准ID3v2”。
[ISO-639-2] ISO/FDIS 639-2. 语言名称表示用代码。第2部分:Alpha-3代码。技术委员会/小组委员会:TC 37 / SC
[ISO-4217] ISO 4217:1995. 表示货币和基金的代码。技术委员会/小组委员会:TC 68
[ISO-8859-1] ISO/IEC DIS 8859-1. 8位单字节编码图形字符集,第1部分:拉丁字母1号。技术委员会/小组委员会:JTC 1 / SC 2
[ISRC] ISO 3901:1986国际标准记录代码。技术委员会/小组委员会:TC 46 / SC
[JFIF] JPEG文件交换格式,版本1.02,http://www.w3.org/Graphics/JPEG/jfif.txt
[MIME] Freed, N.和N. Borenstein,“多用途互联网邮件扩展(MIME)第一部分:互联网消息体的格式”,RFC 2045, 1996年11月。, ftp://ftp.isi.edu/in-notes/rfc2045.txt
[MPEG] ISO/IEC 11172-3:1993. 高达1.5 Mbit/s的数字存储媒体的动态图像和相关音频编码,第3部分:音频。JTC 1 / SC 29和ISO/IEC 13818-3:1995运动图像和相关音频信息的通用编码,第3部分:音频。技术委员会/小组委员会:JTC 1 / SC 29和ISO/IEC DIS 13818-3运动图像和相关音频信息的通用编码,第3部分:音频(ISO/IEC 13818-3:1995修订本)
[PNG]可移植的网络图形,1.0版,http://www.w3.org/TR/REC-png-multi.html
[UNICODE] ISO/IEC 10646-1:1993. 通用多八位编码字符集(UCS),第1部分:体系结构和基本多语言平面。技术委员会/小组委员会:JTC 1 / SC 2, http://www.unicode.org
[URL] T. Berners-Lee, L. Masinter & M. McCahill, “统一资源定位器(URL)”,rfc1738, 1994年12月。, ftp://ftp.isi.edu/in-notes/rfc1738.txt
[ZLIB] P. Deutsch, Aladdin Enterprises & J-L. Gailly, “ZLIB压缩数据格式规范3.3版”,RFC 1950, 1996年5月。url: ftp://ftp.isi.edu/in-notes/rfc1950.txt
8. Appendix
8.1. Appendix A - Genre List from ID3v1
以下类型是在ID3v1中定义的:
0. Blues
1. Classic Rock
2. Country
3. Dance
4. Disco
5. Funk
6. Grunge
7. Hip-Hop
8. Jazz
9. Metal
10. New Age
11. Oldies
12. Other
13. Pop
14. R&B
15. Rap
16. Reggae
17. Rock
18. Techno
19. Industrial
20. Alternative
21. Ska
22. Death Metal
23. Pranks
24. Soundtrack
25. Euro-Techno
26. Ambient
27. Trip-Hop
28. Vocal
29. Jazz+Funk
30. Fusion
31. Trance
32. Classical
33. Instrumental
34. Acid
35. House
36. Game
37. Sound Clip
38. Gospel
39. Noise
40. AlternRock
41. Bass
42. Soul
43. Punk
44. Space
45. Meditative
46. Instrumental Pop
47. Instrumental Rock
48. Ethnic
49. Gothic
50. Darkwave
51. Techno-Industrial
52. Electronic
53. Pop-Folk
54. Eurodance
55. Dream
56. Southern Rock
57. Comedy
58. Cult
59. Gangsta
60. Top 40
61. Christian Rap
62. Pop/Funk
63. Jungle
64. Native American
65. Cabaret
66. New Wave
67. Psychadelic
68. Rave
69. Showtunes
70. Trailer
71. Lo-Fi
72. Tribal
73. Acid Punk
74. Acid Jazz
75. Polka
76. Retro
77. Musical
78. Rock & Roll
79. Hard Rock
以下类型是Winamp扩展:
80. Folk
81. Folk-Rock
82. National Folk
83. Swing
84. Fast Fusion
85. Bebob
86. Latin
87. Revival
88. Celtic
89. Bluegrass
90. Avantgarde
91. Gothic Rock
92. Progressive Rock
93. Psychedelic Rock
94. Symphonic Rock
95. Slow Rock
96. Big Band
97. Chorus
98. Easy Listening
99. Acoustic
100. Humour
101. Speech
102. Chanson
103. Opera
104. Chamber Music
105. Sonata
106. Symphony
107. Booty Bass
108. Primus
109. Porn Groove
110. Satire
111. Slow Jam
112. Club
113. Tango
114. Samba
115. Folklore
116. Ballad
117. Power Ballad
118. Rhythmic Soul
119. Freestyle
120. Duet
121. Punk Rock
122. Drum Solo
123. A capella
124. Euro-House
125. Dance Hall
9. Author’s Address
Written by
Martin Nilsson
Rydsven 246 C. 30
S-584 34 Linkoping
Sweden
Email: nilsson at id3.org
Edited by
Dirk Mahoney
57 Pechey Street
Chermside Q
Australia 4032
Email: dirk at id3.org
Johan Sundstrom
Alsttersgatan 5 A. 34
S-584 35 Linkoping
Sweden
Email: johan at id3.org