Chapter.23 BGMドライバの作成
[Chapter23 制作物]

今回は、BGMドライバ部を作成します。
他のゲーム作成にも再利用できるように、別ソースに分けて作成します。
動作確認のために、BASICから演奏開始を指示できるインターフェースと、テストBGMの作成までを行います。

■BGMドライバの構造を考える
今回の BGMドライバは、以下のような構造にしようと思います。



工事中




■ビブラートの処理
PSG は、単純な矩形波なので、そのまま再生すると単調な音になってしまいます。
そこで、周波数(音程)や音量を頻繁に更新する仕組みを組み込んで、音に変化を付けることで、心地良い音を作り出します。
周波数を頻繁に変える処理を、ここではビブラートと呼ぶことにします。





工事中



■ソフトウェアエンベロープ
PSG には、音量をダイナミックに変化させるエンベロープ機能が搭載されていますが、音量を制御出来ないこと(*1)と、
選択できるエンベロープ形状が単調なモノのみであることから、今回は使用を断念しました。
その代わり、音量を頻繁に更新するプログラムを作り込み、音量変化をある程度音色データとして設定できるようにすることで
音色の種類に関する自由度を上げることにしました。




工事中


(*1) PSG R#8〜#10 に 16 を書き込むとハードウェアエンベロープモードになりますが、実際には 0〜15 のときもエンベロープ波形は
出力されているらしいです。これを利用して、特殊な音を出す人もいるようですが、今回はそこまでやりません。

■ミキサー
ビブラート処理、エンベロープ処理が算出した結果を、実際の PSG回路に設定することで、音を出します。




工事中

■テストデータ
ド・レ・ミ・ファ・ソー、を繰り返すBGMデータを作成して、動作確認することにします。



工事中


[▲トップページへ]