音楽を再生してみよう


今回はメガドライブで音楽を再生します。

SGDKでは様々な音楽フォーマットがサポートされていて
メガドライブエミュレータで標準的なVGM形式以外に
PCM 、MVS 、TFM 、XGM などの形式に対応してます。

SGDKでサポートしている形式を試した所、
VGM形式を内部ツールでXGM形式に変換して
再生させる方法がSGDKでは安定していると思うので
その方法を説明します。


1、VGMを用意する。

まずはVGM形式の曲を用意する必要があるのですが

・トラッカーを使って作曲する
・MMLで作曲してから変換する
・MIDIから変換する
・ダウンロードする

メガドライブで再生出来る曲を作るのには色々な方法があるので

作曲したり変換したりダウンロードしたりしてVGMをとにかく用意して下さい。

VGMを用意出来ない人の為にサンプル曲をアップロードしました。(8小節ほどの短い曲です)

 

ダウンロード
サンプル曲
bgm.zip
圧縮Zipフォーマット 4.8 KB

サンプル曲をダウンロードした場合、解凍して中身の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をエミュレータで読みこんで音楽が再生されれば成功です。
お疲れさまでした。


ダウンロード
今回のファイル一式
music.zip
圧縮Zipフォーマット 6.4 KB