LRC 转 SBV
或者粘贴字幕文本
选项
当源文件没有结束时间时使用(纯文本、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 的毫秒值会被舍入。