跳到主要内容
SubtitleMatrix

LRC 转 SBV

格式转换歌词(LRC)
或者粘贴字幕文本

选项

当源文件没有结束时间时使用(纯文本、LRC)。输出里的时间轴是在这里生成的,不是转换来的,所以填多少就是多少。

这次转换会改变什么

有 1 项会被丢弃或需要你决定

  • 时间

    字幕条的结束时间——源文件不记录这些时间,因此输出中的结束时间是生成的,而不是转换来的

这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。

LRC 转 SBV 把每行歌词写成 `0:00:12.000,0:00:15.300` 加正文的块,没有编号和文件头。SBV 结构简单,很多老播放器与剪辑工具都能读。

结束时间来自下一行的开始;最后一行用页面设定时长补足,并在报告中注明。SBV 能到毫秒,而 LRC 只到百分秒,所以时间值本身不损失,损失的是“终点原本不存在”这件事。

同时间戳的多行会保留成一条 cue 的两行正文;空歌词行会写成一条没有文字的 cue。`[ti:]`、`[ar:]`、`[al:]` 与 `[offset:]` 不进入 SBV,`offset` 也不会被应用。

输出 UTF-8、LF、无 BOM,按开始时间排序。转换全程在浏览器里,不上传、不注册;整季文件可以一次拖入,批量任务可取消,最后打成一个 ZIP。

示例

一份典型的 LRC 文件转成 SBV

输入

[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.

输出

0:00:12.000,0:00:15.300
First line of the song.

0:00:15.300,0:00:18.000
Second line.
Second line, translated.

0:00:18.000,0:00:21.500


0:00:21.500,0:00:23.500
Final line.

产物丢了结束时间;开始时间与文字逐行一致,空歌词行保留。

同一转换遇到一份脏文件

输入

[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]

输出

0:00:03.000,0:00:05.500
Out of order.

0:00:05.500,0:00:07.000
Leading zero omitted, one decimal.

0:00:07.000,0:00:09.000
Second with no centiseconds.
Repeated chorus line.

0:00:09.000,0:00:12.000
Repeated chorus line.

0:00:12.000,0:00:14.000

真实文件常见的损坏:BOM、混合换行、缺前导零的时间戳、重复的副歌行。解析器不抛异常,读不出的部分记进有损说明。

常见问题

LRC 转 SBV 时,最后一行歌词的结束时间怎么定?

用页面设定的时长补,默认两秒;报告会说明这条终点是生成的,因为文件里没有下一行可借。

LRC 转 SBV 后,一条多行歌词还是一组吗?

是。多行写在同一个时间码块里,仍是一条字幕;空歌词行会写成一条没有文字的 cue。

LRC 转 SBV 会保留 `[offset:]` 吗?

不会应用。偏移被读取但不加到时间轴上,所以产物与文件字面时间一致;标题与艺人也没有落点。

LRC 转 SBV 的时间精度会损失吗?

不会。LRC 的百分秒写成 SBV 的毫秒时间,例如 `[00:12.00]` 变成 `0:00:12.000`。

LRC 转 SBV 的产物有编号或文件头吗?

没有。只有一行两个时间、一行正文,两条之间空一行。

SBV 转回 LRC 会丢什么?

会丢结束时间与精度:LRC 不存终点,而且只写到百分秒,SBV 的毫秒值会被舍入。

相关工具