【问题标题】:SID file format parsingSID文件格式解析
【发布时间】:2016-06-27 09:55:32
【问题描述】:

我想为 .sid 文件(C64 芯片的音乐)编写一个解析器,以将一些模式提取到笔记中。我搜索格式,发现:http://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txt

我可以阅读该文档中的标题,但我不明白如何提取单个注释并输出它们。

我搜索现成的转换器并找到了这些:

那是我发现了更多,但 StackOverflow 说我不能发布超过 2 个链接。

请帮忙。对不起,我的英语不好。感谢您的考虑!

【问题讨论】:

  • 您无法真正将 SID 文件解析为便笺。 SID 文件基本上是 6510 汇编中的程序,直接访问 MOS6581 芯片(有时以一种非常奇怪的方式)。您最好的选择是在模拟器中运行它(如libsid)并转储模拟 MOS6581 发生的任何事情。

标签: parsing converter sound-synthesis c64


【解决方案1】:

除了包含各种元数据的标头之外,.sid 文件的其余部分由代码(播放器例程)和数据(乐器和音符数据)组成。

音符数据的格式取决于播放器代码,存在无数不同的播放器,其中任何一个都可能有多个版本,代码和数据格式有所不同。甚至有很多曲子都有专门为那首曲子开发的代码和数据格式。

这意味着您确定音符数据格式的唯一方法是研究播放器代码(在机器代码监视器或单独的反汇编工具中)以查看它的作用以及数据的组织方式,这即使您已经熟悉 6510 机器代码和 SID 芯片,也可能是一项艰巨的任务。

【讨论】:

  • 他不能在 6510 虚拟机中运行播放器并记录写入 SID 寄存器的内容吗?
【解决方案2】:

如果我正在阅读 this 对,如果您只对音符(即音高)感兴趣,您应该可以通过查看通道 1 写入 $d400/$d401 的内容和以此类推。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多