如何提取GBA音乐?

一些软件将gba音乐提取为mid格式。

Sappy和gba2midi-0.8.0

如何使用sappy:(忘记在哪里找到的,很久以前看到的)

准备:先准备软件sappy。这个软件的作者很久没有更新了。最新版本是1.6。未知作者开发的辅助软件Stos...

另外,最好准备一个16基数编辑器,没有也可以,但是会有点麻烦。

1.运行sappy,点击文件-加载rom,加载rom。如果可以开始玩,后面的步骤都是不必要的。点导出歌曲到. mid就行了,注意导出midi的时候要停止播放,不然会出错。如果显示不支持的rom,您可以继续以下步骤。

2.以银河战士-零点任务为例,运行stos,加载rom,点击搜索,后面会出现一些数字和字母。然后用16二进制编辑器打开sappy程序目录下data文件夹中的sappy.lst文件。呵呵,你看到了什么?是的,所有支持的rom都在这里。我们所要做的就是添加不支持的rom。

以这种行为为例

AGRE,ESPN最后一轮高尔夫2002年(美国),蓝宝石,空白,空白,及;H5C0B48,0,0

AGRE是斯托斯打开rom后第一行显示的字母。这是rom的代码,后面是游戏的名字,还有下面的“蓝宝石,空白,空白”,不用管他们,看看就好了&;H5C0B48,这个5C0B48是16中那些被sto搜到的代码之一。至于是哪一种,你需要去尝试。所以,银河战士的代码可以这样写:

BMXE,银河战士-零任务(U),蓝宝石,空白,空白,和。H8F2C8。H0,0

& ampH1表示从第一首歌开始(好像有些游戏第一首音乐是空白的)。在官方帮助文档中,格式描述如下:ROM header,Romname,ROM type,songlist,instmap,tableoffset,songstart,songend。有兴趣进一步探索的可以好好看看官方帮助文档。

3.在sappy.lst文件中添加游戏支持代码后,可以尝试用sappy打开rom,尝试播放。如果失败,则替换tableoffset段中的数据,直到可以播放为止。但是通常第一个数据可以播放。

单击播放旁边的加号或减号播放上一首/下一首音乐。选择音乐,然后停止播放,然后单击文件-将歌曲导出到。mid将其导出到midi。

注意:不是所有的游戏都能支持sappy。

添加rom支持代码的格式:RomHeader,RomName,RomType,Songlist,instmap,TableOffset,SongStart,Songend

Romheader段是AGRE,用来标识ROM。一定不要出错。

Romname segment是游戏的名字,可以随意使用。

根据官方文件,Romtype段必须用蓝宝石填充。

歌曲列表部分是写音乐列表的地方。参考date文件夹中的advw.lst等几个lst文件就可以知道确切的格式。如果懒得编辑,就用空白。

instmap部分是gxb说的最重要的地方。眼泪还没被理解,现在理解了。关系到最后文档的音色,所以懒的话就用空白。

tableoffset段是sto搜索的偏移地址。

Songstart和宋根德是音乐的开始,但宋根德完全没用。