将lrc歌词文件转ass或srt字幕文件,派生自 https://github.com/kafuumi/ltc
This repository has been archived on 2024-10-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
2022-03-30 10:43:09 +08:00
.github/workflows 修改github action 2022-03-05 13:09:47 +08:00
.idea 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
example 修复歌词原文和译文交错排列时会出现不对应的问题 2022-03-05 13:02:32 +08:00
glist 添加测试用例 2022-03-29 11:16:04 +08:00
lrctocaptions 删除build.bat 2022-03-30 10:43:09 +08:00
.gitignore 支持ass转换 2022-03-30 10:41:28 +08:00
ass.go 支持ass转换 2022-03-30 10:41:28 +08:00
cloudlyric.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
cloudlyric_test.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
go.mod 支持ass转换 2022-03-30 10:41:28 +08:00
go.sum 支持ass转换 2022-03-30 10:41:28 +08:00
lrc.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
lrc_test.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
qqlyric.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
qqlyric_test.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
README.md Update README.md 2022-02-18 16:44:20 +08:00
srt.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
srt_test.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
util.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00
util_test.go 修改模块名: lrc2lts => ltc (LrcToCaptions) 2022-03-29 19:47:26 +08:00

LrcToSrt

Build

用于将LRC歌词文件转换成SRT字幕文件

功能

  • lrc文件转换成srt文件
  • 从网易云音乐或QQ音乐上获取歌词并转换成srt文件
  • 从网易云音乐或QQ音乐上下载歌词

下载

开始使用

Usage:
  D:\ProgrameStudy\lrc2srt\lts.exe [OPTIONS]

Application Options:
  -i, --id=                歌曲的id网易云和QQ音乐均可。
  -I, --input=             需要转换的LRC文件路径。
  -s, --source=[163|qq|QQ] 当设置id时有效指定从网易云163还是QQ音乐qq上获取歌词。
                           (default: 163)
  -d, --download           只下载歌词,而不进行解析。
  -m, --mode=[1|2|3]       原文和译文的排列模式,可选值有:[1] [2] [3] (default: 1)
  -v, --version            获取版本信息

Help Options:
  -h, --help               Show this help message

获取歌曲id

网易云音乐

进入网易云音乐网页版,找到歌曲进入详情页,如下图:

image-20220218154517793

其链接中id=1903635166中的1903635166即为该歌曲的id

QQ音乐

同样进入QQ音乐网页版找到歌曲并进入详情页如下图

image-20220218154715806

其链接中的000cPEL247vktn即为歌曲id

使用举例

转换lrc文件

进入需要转换的lrc文件所在的目录运行命令其中的``file.lrc为对应的文件名(**必须写出后缀名**-I中的I必须大写),save.srt`为生成的srt文件名可以省略不写。

lts -I file.lrc save.srt

从网易云音乐或QQ音乐上获取歌词

按照上述步骤获取到对应歌曲的歌曲id后通过-i(小写的i)选项指定id即可获取歌词并转换成srt文件其中-s选项指定从哪个平台获取歌词目前只支持网易云和QQ音乐默认为网易云

# 从QQ音乐上下载传说的世界歌词并转换成SRT文件
lts -i 000cPEL247vktn -s qq "传说的世界.srt"
# 从网易云音乐上下载传说的世界歌词并转换成SRT文件这里省略了-s选项因为默认为网易云
lts -i 1903635166 "传说的世界.srt"
*注

-I-i同时指定即既传入了歌曲的id又传入了歌词文件时只有-i选项会有用。

下载歌词

使用-d选项即可下载原始的LRC歌词文件而不会进行转换

# 从QQ音乐上下载传说的世界歌词
lts -i 000cPEL247vktn -s qq -d "传说的世界.lrc"
# 从网易云音乐上下载传说的世界歌词,这里省略了-s选项因为默认为网易云
lts -i 1903635166 "传说的世界.lrc"

mode选项

只有歌词包含译文时才有意义mode选项用于控制生成的srt文件中原文和译文的排列方式可选值有

  • 1原文和译文交错排列默认

    7
    00:00:14,430 --> 00:00:17,920
    White shirt now red my bloody nose
    
    8
    00:00:14,430 --> 00:00:17,920
    血流不止的鼻子染红了我的白衬衫
    
    9
    00:00:17,920 --> 00:00:21,430
    Sleepin' you're on your tippy toes
    
    10
    00:00:17,920 --> 00:00:21,430
    你会踮着脚尖趁我安睡时
    
    11
    00:00:21,430 --> 00:00:24,960
    Creepin' around like no one knows
    
    12
    00:00:21,430 --> 00:00:24,960
    偷偷潜到我的身边 仿佛无人察觉
    
    ...
    
  • 2原文在上译文在下

    原文
    ....
    译文
    
  • 3译文在下原文在上

    译文
    ....
    原文
    

可通过-m选项指定mode

lts -i 003FJlVU1rxjv8 -m 2 -s qq "ふわふわ时间.srt"

结束时间处理策略

因为在LRC文件中并不包含一句歌词的结束时间所以在转换成SRT文件时处理策略为一句歌词的结束时间为下一句歌词的开始时间,最后一句歌词的结束时间为其开始时间+10秒,所以在打轴时,对进入间奏的地方应该手动调整歌词的结束时间。