LRC文件结构浅析

LRC概述

  LRC 歌词是一种包含着“[*:*]”形式的“标签(tag)”的、基于纯文本的歌词专用格式。最早由郭祥祥先生(Djohan)提出并在其程序中得到应用。这种歌词文件既可以用来实现卡拉OK功能(需要专门程序),又能以普通的文字处理软件查看、编辑。当然,实际操作时通常是用专门的LRC歌词编辑软件进行高效编辑的。以下具体介绍LRC格式中的“标签”。

时间标签(Time-tag)

  形式为"[mm:ss]"或"[mm:ss.fff]"(分钟数:秒数)。数字须为非负整数, 比如"[12:34.5]"是有效的,而"[0x0C:-34.5]"无效。

  它可以位于某行歌词中的任意位置。一行歌词可以包含多个时间标签(比如歌词中的迭句部分)。根据这些时间标签,用户端程序会按顺序依次高亮显示歌词,从而实现卡拉OK功能。另外,标签无须排序。

(如果我们的网站不错,请把“九九Lrc歌词网 =>www.99lrc.net”网址推荐给你的朋友使用,谢谢!)

标识标签(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]”)。
  • 凡是标签,且非时间标签的,应认为是标识标签。
  • 标识名中大小写等价。
  • 为了向后兼容,应对未定义的新标签作忽略处理。另应对注释标签([:])后的同一行内容作忽略处理。
  • 应允许一行中存在多个标签,并能正确处理。
  • 应能正确处理未排序的标签。

MP3歌词文件格式-Lrc格式相关推荐

  1. 使用js解析歌词文件(lrc格式歌词)

    首发地址:https://www.hsmus.top/202101235.html 像音乐播放器一样,可以把歌词文件解析为方便使用的对象 效果如下: 代码如下: 用法: /***** 用法 ***** ...

  2. MP3制作之LRC歌词文件解析(附:源代码)

    LRC 歌词同步 一.准备工作   既然要制作歌词同步程序,首先要准备一首歌,我们就以"周杰伦-青花瓷"为例.首先要下载这首"青花瓷.mp3",保存为" ...

  3. 用JS解析LRC格式的歌词,实现歌词同步滚动效果

    用JS解析LRC格式的歌词 1.把歌词载入. 方法一:直接把歌词粘贴到一个textarea文本域中,然后把它设置为隐藏. <!-- LRC歌词 --> <textarea id=&q ...

  4. Lrc歌词批量下载助手 MP3歌词批量下载助手

    Lrc歌词批量下载助手  MP3歌词批量下载助手   易歌词的服务器已经挂掉,各个主流播放器已不提供明确的下载Lrc服务,当上G的MP3文件遇上苦逼的播放器,二缺就诞生了!本软件就是在这种背景下诞生的 ...

  5. 用JS解析LRC格式的歌词

    用JS解析LRC格式的歌词 1.把歌词载入. 方法一:直接把歌词粘贴到一个textarea文本域中,然后把它设置为隐藏. <!-- LRC歌词 --> <textarea id=&q ...

  6. Lrc格式歌词解析及误差纠正(C++)

    首先是解析lrc文本/文件参考网上网友资料得到 #include "stdafx.h" #include <iostream> #include <fstream ...

  7. JS解析提取LRC格式的歌词

    解析提取lrc格式的歌词 参考:https://blog.csdn.net/fenglin247/article/details/86674646 [ar:王菲] [ti:匆匆那年] [00:00.5 ...

  8. lrc格式歌词格式化处理函数封装,返回对象数组

    lrc格式歌词格式化处理函数封装,返回对象数组 函数 /*** lrc格式歌词格式化 * @param { STRING } lrc lrc格式歌词* @return { ARRAY } 返回对象数组 ...

  9. 转化iRiver的歌词文件SNC到标准歌词文件lrc的python代码

    老婆学英语,下载了一些英语资料mp3,可以支持iRiver的mp3播放器显示歌词, 歌词是和mp3打包在一个mp3文件中. 到网上找了一个分离软件,分离出来的歌词格式是snc.我家的mp3不支持. 在 ...

最新文章

  1. UA MATH567 高维统计II 随机向量4 Frame、凸性与各向同性
  2. memset()函数介绍
  3. 《高级软件测试》实践作业4学习记录12月25日
  4. 在 Mac上压缩的压缩包 在windows上都会产生.DS_Store这种垃圾文件 怎么办
  5. python怎么读数据库的数据_python从数据库读取出来的字典怎么更加方便的插入数据库...
  6. 【渝粤题库】国家开放大学2021春1121健康教育与健康促进题目
  7. 关于Element UI中select组件中遇到的问题
  8. 2017.12.1T19_B2_6
  9. 趁老王不在,和隔壁邻居斗斗地主,比比大小
  10. Python中系统命令
  11. ueditor html模板,UEditor 编辑模板
  12. Pr全套视频教程 PR 全套零基础从入门到精通视频教程
  13. ESXi虚拟机导出为OVF模板
  14. Docker基于现有镜像构建新镜像
  15. 小波变换完美通俗讲解系列之 (一)
  16. 微信小游戏直播在Android端的跨进程渲染推流实践
  17. 不小心删除了ubuntu的内核,进不去系统和Biss,解决办法。
  18. ERROR: All flavors must now belong to a named flavor dimension.
  19. Charles抓包出现unknown问题
  20. 单片机基础(五):定时/计数器的工作原理及工作方式

热门文章

  1. python学习—— IPy 强大的IP地址解析模块
  2. 廖雪峰python教程学习:类、实例与数据封装小结
  3. 计算机技术人才培养论文,浅谈计算机科学技术人才培养的论文(2)
  4. n_person指针一直为空不知是何原因
  5. 率土表情包【原创】第三弹
  6. 你这气质,一看就是项目经理
  7. 两种方式实现局部刷新
  8. 微信小程序在加载中时如何显示提示框?
  9. Web前端 本地存储的三种方法
  10. Navicat for MySQL Mac 破解版