ESLyric-LyricsSource icon indicating copy to clipboard operation
ESLyric-LyricsSource copied to clipboard

qrcjson解析后总是遗失歌词中的半角左括号

Open weiduhuo opened this issue 1 year ago • 2 comments

举例如下: [01:42.02]<01:42.02>掴<01:42.47><01:42.47>む<01:42.92><01:42.92>な<01:43.12><01:43.12>ら<01:43.51><01:43.51><01:43.51><01:43.51>果<01:43.70><01:43.70>て<01:43.85><01:43.85>な<01:44.07><01:44.07>き<01:44.35><01:44.35>)<01:44.41> [01:42.02]紧紧握住(永无止境)

原文中遗失半角左括号,而半角右括号以及译文中的半角左括号未缺失。

此句正确的解析应该为: [01:42.02]<01:42.02>掴<01:42.47><01:42.47>む<01:42.92><01:42.92>な<01:43.12><01:43.12>ら<01:43.51><01:43.51>(<01:43.51><01:43.51>果<01:43.70><01:43.70>て<01:43.85><01:43.85>な<01:44.07><01:44.07>き<01:44.35><01:44.35>)<01:44.41> [01:42.02]紧紧握住(永无止境)

所举例子的歌名为:Ave Mujica

weiduhuo avatar Sep 18 '23 15:09 weiduhuo

这个是已知问题,krc 和 qrc 都有。由于主要的解析算法都是沿用早期 ESLyric 内置脚本的,这个问题也就继承下来了。短期内没有时间来看这个问题,有空了再看吧。

Robotxm avatar Sep 19 '23 15:09 Robotxm

原来主要算法是内置的。 我有个不成熟的想法,我发现缺失左括号的地方会保留一个<><>的空位,假设所有括号都是严格左右匹配,那么可以用一个简单的逆序循环,将右括号与临近空位进行匹配,从而补全为<>(<> 这样通过外置算法来解决,不知道可不可行。

weiduhuo avatar Sep 24 '23 01:09 weiduhuo