ddddxxx / LyricsX

🎶 Ultimate lyrics app for macOS.
Mozilla Public License 2.0
4.73k stars 390 forks source link

在双语歌词的情况下部分中文被当做假名加上了注音 #226

Open shulan-moe opened 5 years ago

shulan-moe commented 5 years ago

image

如上图 原应被当做中文的翻译歌词,在打开自动生成注音的情况下也被添加了振假名注音

测试歌曲为 ロマンティッククルージン - スタァライト九九組 歌词来源 Xiami 使用播放器iTunes,偏好设置中,优先使用双语歌词打开,自动中文转换为不转换 此曲中还有多处歌词出现该情况,图片中为2:56左右的歌词 这个问题好像是因为[tr]开头行的歌词也自动生成振假名注音了

ddddxxx commented 5 years ago

抱歉回晚了。注音功能依赖系统内建的语言检测(CFStringTokenizerCopyBestStringLanguage)。我尝试了一下截图中的情况,“浪漫的巡航”被系统识别为日文。 这种情况我也无能为力,单独构建一个语言识别/分词器不太现实。目前大概只能这样了。

shulan-moe commented 5 years ago

感谢解答。不过我观察到LRC文件内有在歌词行开头使用特定的标签来注明此行为翻译,能否使用标签这个作为特征来区分歌词的翻译呢?

shulan-moe commented 5 years ago

在网上搜索了一下,发现在macOS环境下也可以使用AppKit的NSSpellChecker类来实现语言检测,不知道这个方式和CFStringTokenizer相比哪个更好一些呢

ddddxxx commented 5 years ago

明白你的意思了,就是只对歌词,而不是翻译注音。这是能够做到的。不过对于歌词中的误注就无能为力了。 感谢建议,预计下一版本会加入。

Edit: 目前的架构不支持显示时控制注音,需要整体重构。排期延后。