はじめに †
実チップを使った演奏データを作成するには、主に下記4種類の方法があります。
S98フォーマットは「サウンドログ」に該当します。
#ref(): File not found: "format_rel2.png" at page "サウンドログとは"
リッピング (難易度:高い) †
- ROMイメージ中のサウンドドライバとデータを抜き出して加工した音楽ファイル。
NSF/KSS/HES/PSF/USF/GSF/GBR/GBS 等のフォーマットがこれに当たります。
- カートリッジ内部のプログラム・曲データがそのままパックされています。
- 本物と同一のサウンドドライバとデータを使うため、非常にコンパクトです。
- 基本的に、制御命令とバイナリを解析・理解できるスキルが必要となります。
※注:CDDAのリッピングとは意味合い的に別です
バッファダンプ (難易度:易しい) †
- サウンド領域をまるまる抜き出してファイル化した音楽ファイル。
SPC フォーマットがこれに当たります。
- ハードウェアがサウンド専用バッファを持っており、その領域にドライバとデータを格納してる必要があります。
- ゲームプログラム側でバッファを定期的に書き換えるようなソフトは(基本的に)対応できません。
- たとえ1秒の曲でも、専用バッファと同サイズのファイルになり、1ファイル複数曲格納はできません。
- あくまでエミュレータのオマケ機能…のはず。
サウンドログ (難易度:並み) †
- 音源チップに渡される演奏データをファイルに追記していく音楽ファイル。
S98/SPU/GYM/VGM/MYM/CYM/X1F 等のフォーマットがこれに当たります。
- 録音中に発生した音源命令をそのままファイルに追記していくので肥大化します。
- 効果音などの割り込みが発生すると、その制御命令も一緒に記録されます。
- 要するにライン出力を録音しているような感じです。
サウンドドライバ †
- 対象となるハードウェアの音源制御部分を理解し、演奏させるプログラムを自作します。
- 自作したサウンドドライバ向けに音楽データフォーマットを提唱・作成し、MML等から変換する。
MCK/HuSIC/KSR/XPMCK/note.x等、chiptune音楽向けのコンパイラが作られています。
それぞれNSF/HES/KSS/VGM/MDXフォーマットの音楽を自作することができます。
音源性能制限の中で曲を生み出す苦労を味わうと、いつもと違って聴こえます。
俺ならこう作るぜ!とチャレンジしてみてはいかがでしょうか。