我想为 .sid 文件(C64 芯片音乐的音乐)编写一个解析器,以将一些模式提取到音符中。我搜索格式并发现了这个:http://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txt
我可以阅读该文档中的标题,但我不明白如何提取单个注释并输出它们。
我搜索现成的转换器并找到了这些:
- http://www.vgmpf.com/Wiki/index.php?title=SID_to_MIDI_(Windows)而且 - 很旧,不起作用
- ... - 非常非常旧,输出空文件
- ... - 只是论坛讨论
也就是说,我发现了更多链接,但 StackOverflow 说我不能发布超过 2 个链接。
请帮忙。对不起,我的英语不好。感谢您的考虑!
最佳答案
除了包含各种元数据的 header 之外,.sid 文件的其余部分由代码(播放器例程)和数据(乐器和音符数据)组成。
音符数据的格式取决于播放器代码,并且存在无数不同的播放器,其中任何一个都可能有多个版本,代码和数据格式各不相同。甚至有许多曲调具有专门为该曲调开发的代码和数据格式。
这意味着您确定音符数据格式的唯一方法是研究播放器代码(在机器代码监视器或单独的反汇编工具中)以了解它的作用以及数据的组织方式,其中即使您已经熟悉 6510 机器代码和 SID 芯片,这也可能是一项艰巨的任务。
关于parsing - SID文件格式解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35952338/