Chapter.25 BGMドライバの修正と MMLコンパイラ修正
[Chapter25 制作物]

今回も、BGMドライバを少し改良します。
リズムパートの演奏が簡単になる仕組みを拡張するのと、音色データにノイズを扱う機能を追加します。

■BGMドライバの改良 その1 音色データにノイズを扱う機能を追加
ノイズチャネルは、3つのトーンチャネルのどれかにミックスする形で、一つだけ存在しています。
複数のトーンチャネルにミックスすることも出来ますが、指定できるノイズ周波数は1つだけです。

といっても、リズムセットを複雑に鳴らすことはない・・という、勝手な制約を加えてやって、
後優先のノイズ周波数設定にすることにしました。
後優先というのは、ミキサの中でですので、ch2 > ch1 > ch0 の順で優先的になります。



工事中



■BGMドライバの改良 その2 リズムパートの演奏が簡単になる仕組み
ドラムセットとして5音の音色データを保持できるようにして、このそれぞれの KeyOn を制御するコードを追加します。
トーンと違って、トーン周波数は固定です。
固定指定のトーン周波数は、音色データの方に組み込むことにします。



工事中



■MMLコンパイラ
上記修正に伴って、BGMデータのコードが若干変更されたため、それにあわせて MMLコンパイラも修正・拡張します。
例によって MMLコンパイラのプログラム中身については説明しません。

MML として下記のコマンドを追加しました。

 @H* ... ドラムH の音色番号指定
 @I* ... ドラムI の音色番号指定
 @J* ... ドラムJ の音色番号指定
 @K* ... ドラムK の音色番号指定
 @M* ... ドラムM の音色番号指定
 H* ... ドラムH を音長 * で発音する
 I* ... ドラムI を音長 * で発音する
 J* ... ドラムJ を音長 * で発音する
 K* ... ドラムK を音長 * で発音する
 M* ... ドラムM を音長 * で発音する

H* を使う場合は、必ず @H* で音色指定してからにしてください。
音色指定無しのドラム音再生のエラー検出は行っていないため、実機でおかしな音がなります。



今回は、こんな感じでした。
次回は、効果音の機能を追加します。

[▲トップページへ]