太长了发不出来..
![[汗]](/static/emoticons/u6c57.png)
.
看来楼上你也看了类似的错误资料呢。引用一下wiki吧:
The S-SMP audio processing unit consists of an 8-bit SPC700, a 16-bit DSP, 64 kB of SRAM shared by the two chips, and a 64 byte boot ROM.
64kB指的是RAM,和电脑的内存一个性质,并不能存储任何音色库,这只是限制了同时能加载的音色的大小,是SFC音色需要用压缩算法和对作曲人有高要求的地方,也是SFC音质的主要瓶颈,也不存在另外64kB的ROM,有的只是一个64byte的boot ROM,大概是起到bios差不多的作用的吧?
关于计算那段没什么难理解的吧,根据资料SFC的音色样本就是以ADPCM标准压缩的啊,应该说除了PSG,FM这种利用波形发生器的音源,本质上都是音频流(PCM原理下的电平与时间的波形),波表内存储就是各种音色的录音片段,可长可短,音高力度分层可多可少,这就是你在后面说到的音色库容量差别的原因,至于SFC的音色库在ROM里的具体大小我是不得而知,不过可以肯定的,如你所说的PC声卡为了正常播放midi,音色库至少是包含了GM标准的全部128种乐器甚至可能还有XG音色都能控制在2MB或者4MB这样的容量,而且我想音质肯定是比SFC好的,因此SFC的ROM内只需要放入此游戏用到的音色似乎不会有容量难题的样子。
关于幻想传说的OP,也确实是和其他音色采样一样的存储方式和回放方式,也逃不掉64kB的RAM限制(PS的XA音源就完全不用这么多事了),只不过在载入内存时用了一些小技巧而已,以下引用自wiki:
Programmers sometimes use a technique to overcome the 64KB limit of the SPC700/DSP, of swapping samples in and out of memory on the fly. The file format does not support sample swapping and thus musical scores that use this trick will be played back incorrectly. The shortcoming is most apparent when playing back the SPC files of the tracks "Yume-Wa Owaranai" from Tales of Phantasia and "Be Prepared" from the SNES version of The Lion King.
提取关键字就是说,把完整歌曲分割成若干短样本,通过实时地用未播放的样本替换已经播放的样本来达到“播放了一个超过64KB限制样本”的假象。至于需要多少容量,也许正如你所说的那样。