歌词说明
本文按 2026-10-01 的 1.5 开发线整理。旧版的歌词来源优先级、角色识别和设置入口可能不同;下载页提供的版本以实际发布记录为准。
1 歌词来源
本地歌曲优先读取歌曲同目录的同名外置歌词,其次读取音频标签中的内嵌歌词。编辑器也优先打开外置歌词。
- 外置文件按
.ttml → .yrc → .qrc → .lys → .lrc → .txt顺序查找,使用首先成功读取的文件。例如Demo.flac可搭配Demo.ttml或Demo.lrc,英文文件名大小写不敏感。 - 没有可读取的外置文件时,再读取音频标签中的歌词。具体标签支持取决于音频格式。
优先读取不等于“解析失败后自动换一个来源”:空白或格式错误的外置文件也可能挡住内嵌歌词。请检查并备份这些文件,再决定是否移走。
WebDAV 歌曲先尝试已缓存音频附近的歌词及缓存音频内嵌歌词;没有非空结果时,再读取远端歌曲目录的同名 .lrc。远端自动查找范围与本地不同。
2 支持的歌词格式
当前使用 AMLL 官方格式解析能力,并保留少量兼容处理。文件后缀可以提供格式提示,文本特征用于进一步识别;不是对所有解析器打分,也不保证任意混合格式都能正确读取。
2.1 普通 LRC
每行用时间戳标记开始时间。同一行可以包含多个起始时间戳,表示重复出现的句子。普通 LRC 没有真实的字词时间,不能提供准确的逐字同步。
[00:10.000][00:30.000]这是一句示例歌词
[00:13.000]这是下一句
缺少结束时间时,使用后续起点或已知歌曲时长补齐;仍无法确定时使用有限的回退时长。已有的有效结束时间会保留。
2.2 ESLRC / 方括号逐字 LRC
相邻时间戳之间的文字构成词块,支持逐字同步。建议每行写明起始时间,末尾写明结束时间,不要依赖缺失时间戳的推测。
[00:10.000]你[00:10.300]好[00:10.600]
示例中“你”为 10.000–10.300 秒,“好”为 10.300–10.600 秒。
2.3 尖括号增强 LRC
行首是行起始时间,尖括号标记词块边界。提供末尾时间可以明确最后一个词的结束位置。
[00:10.000]<00:10.000>你<00:10.300>好<00:10.600>
LRC 家族按物理行解析,再按下文的读取顺序处理同时间多行;不再使用“增强行覆盖最佳候选”的旧机制。
2.4 YRC
行头为 [开始毫秒,持续毫秒],词块为 (开始毫秒,持续毫秒,0)文字。开始时间是绝对时间,持续时间是长度。
[10000,600](10000,300,0)你(10300,300,0)好
2.5 QRC
行头为 [开始毫秒,持续毫秒],词块为 文字(开始毫秒,持续毫秒)。支持明文 QRC 和可识别的十六进制加密 QRC,由官方库解密、解析;损坏或不符合格式的内容仍可能失败。
[10000,600]你(10000,300)好(10300,300)
2.6 LYS
Lyricify Syllable 格式,以数字行头记录声部属性,并为词块记录时间。对唱与背景声部按格式自身的结构解析,不按三行语言顺序重新分配。
[0]你(10000,300)好(10300,300)
2.7 TTML
基于 XML 的时序歌词,支持行、词时间及兼容的翻译、音译、背景和声、对唱与注音结构。下面是基本词时间示例:
<tt xmlns="http://www.w3.org/ns/ttml">
<body><div>
<p begin="00:10.000" end="00:10.600">
<span begin="00:10.000" end="00:10.300">你</span>
<span begin="00:10.300" end="00:10.600">好</span>
</p>
</div></body>
</tt>
TTML 保留原生角色结构,不受手动读取顺序影响。存在多种翻译时优先已有中文翻译,否则使用官方解析结果中的首条翻译。不同来源的 TTML 扩展不一定全部兼容。
2.8 格式识别与文件放置
支持解析某种文本,不等于支持将该文件直接拖入导入。建议将歌词保存为同目录、同名且后缀正确的 UTF-8 文件。YRC/QRC 内容也可放在同名 .lrc 中识别,但改后缀不会把它转换成普通 LRC。
3 原文、翻译与罗马音
3.1 同时间多行
对于没有明确角色的多行歌词,按相同的原始起始时间归组,不再使用 50 毫秒合并容差,也不根据日文、韩文或拉丁字母猜测角色。
[00:10.000]こんにちは
[00:10.000]你好
[00:10.000]konnichiwa
上例对应默认的“原文 → 翻译 → 罗马音”。若文件实际顺序不同,请调整读取顺序,或使用显式标记。
3.2 手动设置读取顺序
入口:播放页 → 歌词样式 → 歌词偏移下方的“歌词读取顺序”。点击顺序框,在右侧浮层中拖动原文、翻译、罗马音排序,也可用上下方向键调整。
- 默认:作用于没有单曲覆盖的歌曲,初始顺序为“原文 → 翻译 → 罗马音”。
- 当前歌曲:只为当前歌曲保存设置;选择“跟随默认”可清除本曲覆盖。没有歌曲时无法设置单曲覆盖。
- 无标记三行使用完整顺序;两行去掉顺序中的“罗马音”,保留原文和翻译的相对次序;单行始终作为原文。两行若实际是原文与音译,请为音译加
[romaji]。 - 保存后立即重新解析已缓存的原文,不写回歌词文件,也不改变播放进度。
此设置用于 LRC 家族及 YRC/QRC 的无角色同时间组;TTML、LYS 继续使用原生声部结构。明确标记优先,超过三行、标记冲突或无法唯一归属的内容不会强行分类。背景和对唱也不能简单当成翻译行。
读取顺序只决定文本身份,不决定屏幕上下排列。不同歌词渲染模式的排版由各自渲染器负责。
3.3 逐字音译与回退
具有字词时间的音译按时间对应正文词,而非要求两个数组词数相等。一个正文词可以接收多个音译片段,正文中缺少音译的词也不会把后续对应关系挤乱。
若音译跨越多个词、落入时间空隙或对应不唯一,将保留完整整行音译,不显示不完整的逐词结果。普通整行音译仍作为整行副文。多个音译片段合并到一个正文词时,会跟随该正文词高亮,不代表每个音节都有独立动画。
4 显式角色标记
LRC 家族可在时间戳后的文本开头添加标记,优先级高于读取顺序。英文标记大小写不敏感。
- 原文:
[main]、[orig]、[original]、【原文】、原文:。 - 翻译:
[tr]、[trans]、[translation]、【翻译】、【译文】、翻译:、译文:。 - 音译:
[roma]、[romaji]、[roman]、【罗马音】、【罗马字】、【音译】,或对应文字加冒号。
[00:10.000][main]こんにちは
[00:10.000][romaji]konnichiwa
[00:10.000][tr]你好
部分行有标记时,先锁定对应角色,其余行按剩余角色顺序分配。不要给同一行添加相互冲突的角色。
5 显示模式与样式
5.1 逐字效果
AMLL 模式使用官方渲染器处理逐字动画、滚动、间奏和对唱;轻量模式使用同源歌词数据,但效果与排版不完全相同。翻译在 AMLL 中作为整行副文,不保证按翻译自身的词时间逐字高亮。
准确的逐字同步需要文件提供真实字词时间。桌面歌词对普通 LRC 的模拟逐字效果不等同于真实字词时间,也不会修改原文件。
5.2 样式、位置与同步
播放页左侧“歌词样式”抽屉可调整字体、字号、行距、位置和读取顺序;翻译与罗马音可以分别开关。字体等外观设置与读取顺序是不同的设置。
无歌词、正在加载或尚未播放时也可先调整默认样式。字号等滑块会即时预览,关闭面板时提交草稿。歌词同步补偿用于校正时间,水平/垂直偏移只改变位置;不要混淆。
5.3 无同步歌词
没有可用时间轴时,播放页显示无同步歌词提示;加载中与解析失败有各自状态。纯文本不会被伪造为逐字时间轴,播放页也不保证提供无时间文本的滚动阅读。
6 编辑与保存
编辑器先读取本地同名外置文件,没有可读取的外置文件时再读取内嵌歌词。保存到内嵌会修改音频标签;保存到外置文件时,已有来源路径会沿用该路径,没有来源路径时默认写入同目录同名 .lrc。
保存原文不等于转换格式。修改前建议备份音频和歌词,尤其是已有 TTML/YRC/QRC 文件时。若外置文件仍存在,仅修改内嵌歌词可能不会改变播放显示,因为外置优先。此处描述的是本地文件编辑,不承诺直接写回 WebDAV。
7 文件整理建议
- 只需整行同步:使用普通 LRC。
- 需要准确逐字同步:保留来源已有的字词时间,使用增强 LRC、ESLRC、YRC、QRC、LYS 或兼容 TTML。
- 多语言 LRC:保证同组时间戳一致,统一排列,或明确写出角色标记。
- 复杂对唱、背景和声:优先保留 TTML/LYS 原生结构,不要简单压成无标记三行。
8 桌面歌词
入口:设置 → 个性化 → 桌面歌词。当前 Windows 桌面版使用原生歌词窗口,与播放页 AMLL 渲染器不同,设置页预览与实际窗口的字形及效果可能有差异。
可调整字体、字号、颜色、透明度、描边、阴影和位置,并设置锁定/穿透、置顶等行为。长句可选择“横向跟随”或“自动换行”;横向跟随会随播放移动可见区域。双行表示两句歌词,不是原文与翻译各占一行。
翻译、音译和逐字显示仍依赖源文件数据;窗口过小时会进行适配。需要调整位置或尺寸时,请先解锁窗口。
9 来源与问题反馈
播放器读取你提供的歌词,不会凭空生成翻译、音译或字词时间。请使用有权使用的歌词文件,并保留原始格式和时间信息。
遇到问题请通过 GitHub Issues 提交软件版本、使用的显示模式、读取顺序、歌词格式、能复现的文本片段与截图。请先移除私人路径、服务器地址和凭据。
10 常见问题
为什么改了内嵌歌词却没变化?
检查同目录是否还有同名外置歌词,特别是优先级高于 LRC 的 TTML/YRC 等文件。当前版本优先使用外置文件,编辑器中也应确认实际来源。
为什么原文、翻译和罗马音位置不对?
先检查它们被读取成了什么角色,再在歌词样式中调整“默认”或“当前歌曲”的读取顺序。若两行是原文与音译,为音译添加显式标记。不要再按旧文档期待自动语言识别。
为什么逐词音译变成整行了?
可能没有字词时间,或时间关系不足以可靠对齐。完整整行显示是保护内容的回退方式;调整字体或顺序不会自动补齐缺失的词时间。
歌词文件放好了却没有显示?
检查文件同名、目录、UTF-8 编码、内容格式及是否有更高优先级的外置文件。WebDAV 还需检查连接、缓存和远端同名 LRC。旧版本的来源规则可能不同。