# LrcParser **Repository Path**: thecasttim/lrc-parser ## Basic Information - **Project Name**: LrcParser - **Description**: 解析LRC格式歌词文件 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-03-03 - **Last Updated**: 2024-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LRC文件格式 LRC文件是一种用于与音频文件同步歌词的文本文件,通常与对应的音频文件同名。 ## 简单格式 通常显示一整行歌词。 行时间标签格式为 **[mm:ss.xx]**, 其中,**mm** 为分钟数, **ss** 为秒数,**xx** 为百分之一秒的倍数。 一般示例: ```wiki [00:10.00] 第一行歌词 [00:12.70] 第二行歌词 [00:18.00] 第三行歌词 ... [mm:ss.xx] 最后一行歌词 ``` **ID标签** ID标签可能位于歌词之前,标注一些说明信息,如: ```wiki [ar:演唱者] [al:本歌所在的专辑] [ti:本歌的标题] [au:歌词作者] [length:本歌的长度] [by:此LRC文件的创建者] [offset:+/- 以毫秒为单位歌词时间点偏移量,+,时间点后移,-,时间点前移] [re:创建此LRC文件的播放器或编辑器] [ve:程序的版本] ``` 示例: ```wiki [ar:Chubby Checker oppure Beatles, The] [al:Hits Of The 60's - Vol. 2 – Oldies] [ti:Let's Twist Again] [au:Written by Kal Mann / Dave Appell, 1961] [length: 2:23] ``` ## 扩展简单格式 可使用标签设置歌词性别: + M:男 + F:女 + D:合唱 例: ```wiki [00:12.00]第一行歌词 [00:15.00]F: 第二行歌词 [00:16.50]M: 第三行歌词 [00:17.20]第四行歌词 [00:18.00]D: 第五行歌词 [00:22.20]第六行歌词 ``` ## 增强格式 对简单LRC格式进行了增强,可以标注单个词的出现时间。 区别: + 行时间戳是之前歌词的结束时刻 这允许LRC播放器决定之前的歌词的时长,以及何时显示下一行歌词。 + 一个歌词的时间标签格式:\<**mm:ss.xx**\> 示例: ```wiki [mm:ss.xx]第1行第1个词第1行第2个词 ... 第1行最后的词 [mm:ss.xx]第2行第1个词第2行第2个词 ... 第2最后的词 ... [mm:ss.xx]最后1行第1个词最后1行第2个词...最后1行最后的词 ``` # 参考 + LRC文件格式 https://en.wikipedia.org/wiki/LRC_(file_format) https://blog.csdn.net/beijingak/article/details/7601534 + LRC歌词开发标准参考 https://www.cnblogs.com/lbnnbs/p/4781993.html + LRC生成器 http://www.lrcgenerator.com/ + 参考项目 + python 根据歌词的时间(LRC文件),生成H5 audio按句播放器 https://www.cnblogs.com/jifeng/p/12732226.html + https://github.com/Sorrow446/LRC/blob/master/lrc.py + 考虑了一行中有多个时间戳的情况 https://github.com/greats3an/pyncm/blob/master/pyncm/utils/lrcparser.py + https://github.com/doakey3/pylrc/blob/master/pylrc/parser.py