duangsuse::Echo
写好啦,那个 zipTakeWhile 居然还浪费了我好长时间调试…… 居然没一遍写对,当然也不能怪我,这个不是流操作的流操作 和 zip 操作本身对定义初始情况的要求经常容易忘记
这货也有 limitation ,输入数据只有音符的 start ,没有 end
意味着每行的最后一个音符,都不知道该在哪停……
根本没有办法解决,因为 LRC 就是只有 start,而我调试的时候用 SRT 的话最后一个字的时间就会不准确
如果输入是 SRT 格式的话就有 start 有 end,移植也很容易只需要
看来我得在 Kotlin 代码上做 hack 了…… 别人又不能用到这个特性,唉。
意味着每行的最后一个音符,都不知道该在哪停……
根本没有办法解决,因为 LRC 就是只有 start,而我调试的时候用 SRT 的话最后一个字的时间就会不准确
如果输入是 SRT 格式的话就有 start 有 end,移植也很容易只需要
max(line, key=lambda it: it[0]).end
,但我不会写 mid 歌词读取……
duangsuse::Echo
这货也有 limitation ,输入数据只有音符的 start ,没有 end 意味着每行的最后一个音符,都不知道该在哪停…… 根本没有办法解决,因为 LRC 就是只有 start,而我调试的时候用 SRT 的话最后一个字的时间就会不准确 如果输入是 SRT 格式的话就有 start 有 end,移植也很容易只需要 max(line, key=lambda it: it[0]).end ,但我不会写 mid 歌词读取…… 看来我得在 Kotlin 代码上做 hack 了…… 别人又不能用到这个特性,唉。
刚才才发现其实如果输出格式是 LRC 的话,这个信息损失也不会有问题啊…… 所以说只是在输出 SRT 预览的时候有问题而已啦
Media is too big
VIEW IN TELEGRAM
#vocaloid SynthesizerV — 野子 Yamine Renri 闇音レンリ (Cover 苏运莹)
#Python 我找到问题了。 pygame.mixer_music 不仅 set_pos 完 get_pos 数据不对称,而且连放歌的速度都会变慢,而且我没有在代码里设置!
这也就导致了导出后必须更改 BPM,其实根本录的时候就错了!
这也就导致了导出后必须更改 BPM,其实根本录的时候就错了!
srt 和 mid 无缝互化终于完成了,以后唱歌都不用专门弄 lrc 和 srt 了,真方便
./srt2mid.py
./srt2mid.py
Usage: srt2mid [ from/back/back-lyrics ] files