Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QQ音乐逐字歌词每行都缺失末尾时间戳 #155

Closed
MC-dusk opened this issue Jan 12, 2023 · 7 comments
Closed

QQ音乐逐字歌词每行都缺失末尾时间戳 #155

MC-dusk opened this issue Jan 12, 2023 · 7 comments
Labels

Comments

@MC-dusk
Copy link

MC-dusk commented Jan 12, 2023

BUG 描述 Describe the bug

QQ音乐逐字歌词每行都缺失末尾时间戳

https://y.qq.com/n/ryqq/songDetail/002PaXLM1wSj31

当前获取的歌词:

[00:11.09]光[00:11.50]が[00:11.54]走[00:11.77]っ[00:11.88]た

正确形式的歌词:

[00:11.09]光[00:11.50]が[00:11.54]走[00:11.77]っ[00:11.88]た[00:xx.xx]

版本 Version

5.8

@MC-dusk MC-dusk added the bug label Jan 12, 2023
@MC-dusk
Copy link
Author

MC-dusk commented Jan 12, 2023

P.S.:v5.5更新出的问题,对应修复的#140 ,还是我提的issue。没及时debug,我有罪

@jitwxs
Copy link
Owner

jitwxs commented Jan 13, 2023

这个应该不是 BUG,这一行最后这个 [00:xx.xx] 表示的是这一行的结束,没有实际含义吧

@MC-dusk
Copy link
Author

MC-dusk commented Jan 14, 2023

省流:一行的结束不一定是下一行的开始,不然最后一个字可能会拖的很长。


举个例子,下面是另一首歌的qrc内容:

[159553,3750]Oh (159553,1217)星(160770,337)屑(161107,612)も(161719,865)な(162584,237)い(162821,482)

这种qrc格式,时间戳前半是起始时间(毫秒),后半是持续时间,不仅开头有一行的时间戳,可以看到每个字的时间戳也有起点长度,这样在显示时,能够自由确定任何一个字何时开始和结束。

但这种格式不通用,且信息冗余。

转换后:

[02:39.55]Oh [02:40.77]星[02:41.10]屑[02:41.71]も[02:42.58]な[02:42.82]い[02:43.30]

这种逐字lrc格式,用文本换行确定一行的显示,但每行没有这一行的时间戳,只有每个字的时间戳。所以每个字是平等的。默认一行的每个字时间前后相连,但最后需要加一个时间戳来断后。有点像植树问题(

从歌词来说,每句话不一定是前后相连的。比如一句话结束后,有一段间奏,这句话的结束就不是连在下一句开始,而传统lrc只能前后相连,所以必要时会用空行做隔断。


另外还有一种逐字歌词格式

[mm:ss.xx] <mm:ss.xx> line 1 word 1 <mm:ss.xx> line 1 word 2 <mm:ss.xx> ... line 1 last word <mm:ss.xx>
[mm:ss.xx] <mm:ss.xx> line 2 word 1 <mm:ss.xx> line 2 word 2 <mm:ss.xx> ... line 2 last word <mm:ss.xx>

这种在最前面单独有个行时间戳,以兼容普通lrc歌词。

@jitwxs
Copy link
Owner

jitwxs commented Jan 14, 2023

学习了,下个版本加上

@warm-ice0x00
Copy link

写了一个把下载的逐字歌词转换为兼容性更好的增强 LRC 格式的脚本

示例

转换前:

[01:35.69]こ[01:36.07]の[01:36.48]両[01:37.31]手[01:37.70]か[01:38.24]ら[01:39.10]零[01:39.98]れ[01:40.73]そ[01:40.94]う[01:41.24]な[01:41.46]ほ[01:41.88]ど[01:42.29]
[01:42.27]几乎要自两手中洒出的
[01:42.64]君[01:42.94]に[01:43.21]貰[01:44.01]っ[01:44.21]た[01:44.82]愛[01:45.69]は[01:46.55]ど[01:47.10]こ[01:47.54]に[01:47.88]捨[01:48.30]て[01:48.75]よ[01:48.97]う[01:49.41]?[01:49.59]
[01:49.57]你所给的爱要扔到哪好?

转换后:

[01:35.69]<01:35.69>こ<01:36.07>の<01:36.48>両<01:37.31>手<01:37.70>か<01:38.24>ら<01:39.10>零<01:39.98>れ<01:40.73>そ<01:40.94>う<01:41.24>な<01:41.46>ほ<01:41.88>ど<01:42.29>
[01:42.27]几乎要自两手中洒出的
[01:42.64]<01:42.64>君<01:42.94>に<01:43.21>貰<01:44.01>っ<01:44.21>た<01:44.82>愛<01:45.69>は<01:46.55>ど<01:47.10>こ<01:47.54>に<01:47.88>捨<01:48.30>て<01:48.75>よ<01:48.97>う<01:49.41>?<01:49.59>
[01:49.57]你所给的爱要扔到哪好?

@tylearymf
Copy link

tylearymf commented Feb 22, 2023

我发现qq音乐返回的末尾字是有时间的,只是代码处理的时候漏掉了

@jitwxs
Copy link
Owner

jitwxs commented Feb 26, 2023

since v5.9 fix this bug.

@jitwxs jitwxs closed this as completed Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants