- 全面认识LRC歌词
-
发布时间:2009-11-23 13:16:08
发布时间:2009-11-23 13:16:08
LRC概述 LRC 歌词是一种包含着“[*:*]”形式的“标签(tag)”的、基于纯文本的歌词专用格式。最早由郭祥祥先生(Djohan)提出并在其程序中得到应用。这种歌词文件既可以用来实现卡拉OK功能(需要专门程序),又能以普通的文字处理软件查看、编辑。当然,实际操作时通常是用专门的LRC歌词编辑软件进行高效编辑的。以下具体介绍LRC格式中的“标签”。 时间标签(Time-tag) 形式为"[mm:ss]"或"[mm:ss.fff]"(分钟数:秒数)。数字须为非负整数, 比如"[12:34.5]"是有效的,而"[0x0C:-34.5]"无效。 它可以位于某行歌词中的任意位置。一行歌词可以包含多个时间标签(比如歌词中的迭句部分)。根据这些时间标签,用户端程序会按顺序依次高亮显示歌词,从而实现卡拉OK功能。另外,标签无须排序。 标识标签(ID-tags) 其格式为"[标识名:值]"。大小写等价。以下是预定义的标签。 [ar:艺人名] [ti:曲名] [al:专辑名] [by:编者(指编辑LRC歌词的人)] [offset:时间补偿值] 其单位是毫秒,正值表示整体提前,负值相反。这是用于总体调整显示快慢的。 样例 [ar:unknown] [ti:sample] [al:none] [by:me] [01:02.355][00:00]This line should be sung twice [00:05.7]And this one... once only. 开发标准(供程序员阅读参考) 以下列出了开发支持LRC格式的软件时应遵守的一些标准。 无论是否在行首,行内凡具有“[*:*]”形式的都应认为是标签。(注意:其中的冒号并非全角字符“:”) 凡是标签都不应显示。 凡是标签,且被冒号分隔的两部分都为非负数,则应认为是时间标签。因此,对于非标准形式(非“[mm:ss]”)的时间标签也应能识别(如“[0:0]”)。 凡是标签,且非时间标签的,应认为是标识标签。 标识名中大小写等价。 为了向后兼容,应对未定义的新标签作忽略处理。另应对注释标签([:])后的同一行内容作忽略处理。 应允许一行中存在多个标签,并能正确处理。 应能正确处理未排序的标签。