我只需要阅读.kar file的歌词。
问题是在MIDI标准和.kar文档中缺少关于此的文档。
我尝试用十六进制编辑器打开文件,但我不了解很多东西。
所以我的问题是:
答案 0 :(得分:5)
KAR文件是常规MIDI文件(特别是具有多个乐器的类型1文件),但歌词的存储方式与常规MIDI文件略有不同。自从我使用KAR以来已经有一段时间了,但是IIRC将歌词存储为元文本事件(类型0x01)而不是歌词事件(类型0x05)。但是,KAR还为标题/艺术家/等使用文本事件,尽管这些事件通常以“@”字符为前缀。
正如@ Vilx所指出的,你可以用与常规MIDI相同的方式解析KAR,所以当你这样做时你可以简单地转储所有元事件,你会看到它们是如何构造的。
答案 1 :(得分:1)
我没有答案,但我可以指出你自己的方向。
MIDI文件的格式非常标准化和记录。维基百科没有提供它的链接,但我记得10年前在网上找到它(甚至在谷歌诞生之前!),所以我不认为你今天找到它会有问题。
格式是“分块”,这意味着卡拉OK信息很可能存储在一种特殊的块中。其余的是逆向工程。拿一个卡拉OK文件(.kar,据我所知,是一个带有歌词块的.mid),丢弃已知的块,你很快就会找到歌词块。那里的信息对于decypher来说应该不会太难。
已添加:此外,据说KMid支持它们,因此其源代码可能会有所帮助。
答案 2 :(得分:0)
您可以将此免费库用于.NET:NAudio