スーパーファミコン音源(SPC)の制作環境 |
ここで公開しているSPCファイルは次のツールを使用して制作しました。
※XMSNESは2/9/2007のbeta versionを使用しています。
XMSNES 2/9/2007 beta version (xms_beta10.zip)
現在はダウンロードできない(但し、実機でもエミュレータでも最も安定動作する。)、2/9/2007 beta versionです。当時アップされていたものそのままのデータです。要望がくることも多かったことから、(おそらく問題もないと思われることから)公開します。
問題がありましたら削除しますのでご連絡下さい。
(XMSNESはekidさんの著作物です。)
MIDI2MSSは使い方がかなり難しいですが、XMSNESの方は簡単で、MODデータ[MOD、XM、S3M]を作れば、何も考えることなくSPCファイルに変換して(このときSPC-700のハードウェアエフェクトを与えることもできます。)スーパーファミコンの曲を作ることができます。やってみてはいかがでしょうか?
XMSNESでのSPCファイルの生成方法 [メモ]
MS-DOSプロンプト(コマンドプロンプト)上で
xm2snes -b -d [MODファイル名]
…と入れるだけでできます。但し、2/9/2007のbeta versionでは、オクターブ5のファよりも高い音を出そうとすると、正しい音が出ない(すべてオクターブ5のファで演奏されてしまう。)…という不具合があるようです。
スーパーファミコンのサウンドバッファは64KBですが、波形データ部はBRRという圧縮形式に変換されて小さくなりますので、もとのMODデータがそれ以上の大きさがあっても大丈夫です。(MOD用の波形データ[未圧縮PCM]をBRRに圧縮変換すると16ビットデータの場合は約1/4、8ビットデータの場合は約1/2になります。MODでは64KBぎりぎりであったとしても、圧縮が行われることによってこの分だけメモリ空間に空きができ、もっと多くのデータを使うことができます。)
このプログラムは、いったんMODデータをXMSというスーパーファミコン音源用に最適化された(?)形式に変換してから、SPCファイルを作成する…という形になっているようですが、このXMSファイルが58KB以下であればOKのようです。
スーパーファミコンの音源は最大同時発音数8音なので、もちろんもとのMODデータも、8音以内で出来上がっていなければ通りません。
RELEASE 07/02/07のインストール方法
何かと不明な点の多いRELEASE 07/02/07を正常に動作させる方法がわかりましたので、ご紹介したいと思います。(既に試されて知っている…という方もいるかも知れませんが…。)
まず、RELEASE 07/02/07のbinariesパッケージには、実行に必要なファイル(dp_snap.binとdsp_snap.bin)が入っていませんので(開発されたekidさんのミスだそうです。)、XMSNESトップページの1:46 PM 7/26/2007の記事内のMissing Binariesからダウンロードしてきて下さい。2つのファイルが入っていますので、xm2snes.exeと同じディレクトリ内に置いて下さい。
次に、spx_core.binとspx_corem.binというファイルがあると思いますが、spx_core.binの方を違う名前にして(例えばspx_core_.bin)、spx_corem.binをspx_core.binに変更して下さい。(これをしないと音の出ないSPCファイルができてしまいます。ここでつっかえていた方も多いと思いますが、(こちらもそうでした...)試してみて下さい。)
以上でOKです。
あとは、xm2snesを実行させればきちんと音の出るSPCファイルができます。
(2009/11/8追加)
XMSNESの公式ページはほとんど更新されていないようですが、作者さんは「SNESMOD」と名前を変えて新しいバージョンの開発を続けられているようです。詳しい使い方などがわかり次第、掲載したいと思います。
▼SNESMODのGoogle検索結果
http://www.google.co.jp/search?hl=ja&source=hp&fkt=343&fsdt=2099&q=SNESMOD
XMSNESでのエコーの与え方 [メモ]
エコーをオンにしたい地点に、E01 E03(S3Mの場合はS01 S03)という2つのコマンドを書いておけば、そこからエコーが有効になるようです。(E02[S02]と書くと、そこから無効になる。)
エコーの値の設定のしかたは、音色の名前(Instruments Name)のところに
>//7F00000000000000715
といった文字列を書くことによってできるようです。
7F00000000000000の部分がFIRフィルタの係数、その後ろの7の部分がディレイ値、その後ろの15がリバーブ値となっているようです。
FIRフィルタの係数はデグレファクトリーさんのドキュメント(現在は公開されていないようです。)によると…
00 00 00 00 00 00 00 00 : フィルタなし
7F 00 00 00 00 00 00 00 : 標準フィルタ
00 08 17 24 24 17 08 00 : ローパスフィルタ
…となるようです。
但し、RELEASE 07/02/07ではうまく機能しないようです。(こちらのやり方が悪いだけかも知れませんが…。)
XMSNES 2/9/2007 beta versionで製作したデータの再生について [メモ]
実機 → o (エコーを使用していないものはそのままでOK。バイナリエディタで一部書き換えればエコーを使用したものもほぼ再生可能。)
KbMediaPlayer+kbspc.kpi(最初から入っているプラグイン)
→ x (雑音のような音になる)
KbMediaPlayer+kbsnesapu.kpi → o
真・黒猫SPC → x (プレイヤーが暴走する)
黒猫SPC → o
SPC700 Player → o
G-SPC → o
XMMSのOpenSPCプラグイン → エコーを使わなければ
o (実機同様にバイナリエディタで一部を書き換えればエコーを使用したものもほぼ再生可能になると思います。)
バイナリの書き換え方法などは、実機再生レポートをご覧下さい。