音楽を再生してみよう
今回はメガドライブで音楽を再生します。
SGDKでは様々な音楽フォーマットがサポートされていて
メガドライブエミュレータで標準的なVGM形式以外に
PCM 、MVS 、TFM 、XGM などの形式に対応してます。
SGDKでサポートしている形式を試した所、
VGM形式を内部ツールでXGM形式に変換して
再生させる方法がSGDKでは安定していると思うので
その方法を説明します。
1、VGMを用意する。
まずはVGM形式の曲を用意する必要があるのですが
・トラッカーを使って作曲する
・MMLで作曲してから変換する
・MIDIから変換する
・ダウンロードする
メガドライブで再生出来る曲を作るのには色々な方法があるので
作曲したり変換したりダウンロードしたりしてVGMをとにかく用意して下さい。
VGMを用意出来ない人の為にサンプル曲をアップロードしました。(8小節ほどの短い曲です)
サンプル曲をダウンロードした場合、解凍して中身のbgm.vgmを使用して下さい。
2、フォルダの作成。
SGDKフォルダの2つ下の階層に名前は何でもいいので今回使うフォルダを作ります。
例 C:\develop\sgdk\sample\music
作ったフォルダの中にresフォルダを新規で作り、resフォルダの中に再生する音楽ファイルを入れます。
音楽ファイル名は何でもいいのですが、ファイル名「bgm.vgm」で説明します。
3、リソース設定ファイルの作成。
SGDKでリソースを扱うrescompの設定ファイル「適当な名前.res」を
resフォルダの中にテキストファイルで作ります。
例 C:\develop\sgdk\sample\music\res\res_sound.res
XGM bgm "bgm.vgm" |
このテキストをテキストエディタでres_sound.resにコピペして保存して下さい。
4、ソースファイルの作成。
musicフォルダの中に新規テキストファイルでmain.cを作成し
01
|
#include
|
02
|
#include "res_sound.h" //音楽リソース読み込み
|
03
|
04
|
int main()
|
05
|
{
|
06
|
SND_startPlay_XGM(bgm); //音楽の再生
|
07
|
while (1) //メインループ
|
08
|
{
|
09
|
VDP_waitVSync();
//60分の1秒で発生するVSync待ち
|
10
|
}
|
11
|
return (0);
|
12
|
}
|
上のソースコードをコピぺします。(右上のViewSourceアイコンからコピペ用のテキスト画面が出せます)
ビルド用のバッチファイルmake.batをmusicフォルダの中にコピーして下さい。
5、コンパイル(ビルド)
これでソースコード、VGMファイル、resファイル、ビルド用のバッチファイルが揃いました。
make.batを実行しビルドして下さい。
エラーがなければoutフォルダの中にrom.binが作成されます。
rom.binをエミュレータで読みこんで音楽が再生されれば成功です。
お疲れさまでした。