2020年にもなってツクールシリーズのBGMにMIDIを使う制作者が
沢山いるとはとても思えませんが、
それでもこれからMIDIでBGMを作る人がいると信じて、制作中に気付いたことをメモ。
あとついでに、最後にMSGSの特性もメモ。
 
…ここ数年物忘れがひどくなってきた自分への忘備録も兼ねて。
 
------------------------------------------------------------------
◆ツクールによってMIDIの動作が異なる
 
シミュレーションRPGツクール95
RPGツクール2000
RPGツクール2003
 
 この3つは恐らく同じ仕様。単純にMIDIマッパーを使うだけと思われます。
 つまりWindows側で設定しているMIDI音源をそのまま流用します。
 なので良いMIDI音源を持っていたら、良い音でMIDIのBGMが聴けます。
 …もっともMIDIファイルがどの音源を想定して作られたものか、によって
 聴こえ方のバランスが変わってくるので、一概に良い音の音源をつかえばいい、
 とは言えないのですが…
 
 
RPGツクールXP、 VX、 VX Ace
 DirectXのMIDI再生機能(DirectMusic)による、MIDI音源を内臓
 しかし各ツクールごとに細かく特性が異なる模様。
 また他のMIDI音源は使用できないので、うまく付き合う必要があります。
 
この3つのうち、私の手元にあるのは Steam 版のVX Aceだけなので、ここでは
VX Aceについて記載します。
 
※VXとXPの仕様については、Atelier Nontaさんに詳しい解説がありましたので、そちらをご参照ください。
 
------------
※追記:
Steam版のRPGツクールXPと VXも入手しました。
どうやらSteam版はRPGツクールXP、 VX、 VX AceいずれもMIDI音源部が同じ仕様のようです。
つまり昔発売されたパッケージ版とは細かい仕様が異なるようです。
 
-----------------------------------------------------------------
VX Ace (※Steam販売版)で確認できたMIDI音源の仕様
 音の種類と音量バランス(鳴り方)は
 Microsoft GS Wavetable Synth(MSGS)という
 Windows標準音源に極めて近い。
 …近いというか、そもそもこの音源がベースとなっていて、
 こちらに強めのリバーブ(音響)がかかった状態である。
 
 ほか特徴としては
 ・GS音源マップの音色は無いもよう。一方リズム系は搭載。
 ・GSリセットは効果が無い。これを入れてもGSマップの音は無音になる。
 ・GMシステムオンを受信すると、GSマップの音はGMマップに置き換えて鳴る。
   ただしリズム系はGMシステムオンでもそのままGSのドラムが鳴る。

 ということで、楽器の種類はGM音源MAPのみを使い(ドラムはGSでもOK)、
 音量バランス等はMSGSの音の鳴り方に合わせれば
 VX Aceで良好な鳴り方が期待できます。
 もちろんバランスがよろしくない場合もありますが、他の音源よりはずっといい!
 
 
 
RPGツクール2000/2003
 MIDIマッパーを使用。つまりMIDI音源は自由に選べるのですが、
 ゲーム製作者とまったく同じMIDI音源をプレイヤーユーザー側が用意するのは難しいため
 制作側はWindows標準音源であるMSGSに合わせて作る方が無難です。
 
 もし何かの音源を指定したいのなら、
 MP3形式でBGMを提供するほうがいいでしょう。

 …これらの欠点としてはデータ容量がMIDIよりも遥かに大きいことと、
 MP3では曲のループがスムーズにいかないこと。
 曲の前と後ろにぴったり空白なしで作ってもリピート時に一瞬無音になります…

 またループといっても任意地点からの再生はできず、
 曲の最初に戻ってのリピートになります。
 (OGGファイルが使えればいいのですが、
  RPG2000/2003はOGGに対応していないのです)
 
 
 
◆WOLF RPGエディター2
 こちらもDirectXのMIDI再生機能(DirectMusic)による
 内臓MIDI音源を使用していると思われます。
 ただし特性はWinodws10のMSGSと同じようでした。
 これにプラスして弱めのリバーブがかかっています
 なのでMSGSのGSマップを使用してもちゃんと音が鳴ります。
 
 もっとも今後のエディタやDirectXのバージョンアップにより
 仕様が変わる可能性も考えられなくはないですが…
 現時点では問題ありません。
 
 
-----------------------------------------------------
◆◆コントロールチェンジ111(ループ設定)の動作について
 ツクールシリーズやWOLF2が対応している、リピート設定専用の項目です。
 これを入れておくと、曲の「最後」まで演奏した後、
 コントロールチェンジ111(CC111)を設定した箇所に戻ってリピート再生します

 設定する値はなんでもOK。1でも127でもご自由に。
 つまり、前奏・イントロを鳴らした後、曲本編の箇所だけを
 繰り返しリピート演奏させることができます
 まさにゲームのBGM!
 
 ところで。
 この曲の最後の位置、というのはどこのことをさすのでしょうか。
 
 これは、最後に音符の音が途切れたり、コントロールチェンジ等を設定したりした小節の最後です。
 ややこしい書き方をしたけど、こういう事です↓
 
 曲そのものはの地点、つまり小節の途中で終わっていますが、ここでいきなりループはせず、
 いったん小節の最後(の地点)の時間まで再生(無音)してからループします。
 
 
-----------------------------------------------------
-----------------------------------------------------
◆◆MSGSの特性
Microsoft GS Wavetable Synth
Windows標準搭載のMIDI音源です。
WinodwsXPと、Winodws7以降のOSで特性が異なるらしいです。
ここではWinodws7~10の場合の話です。
 

◆どんな音色?
 VSC-55というソフトウェアシンセサイザーがベースとなっているらしいです。
 全体にのっぺりしたような音(分かりにくい表現ですみません)で、雰囲気で表すなら
 スーパーファミコンの初~中期くらいのゲームの音色に近い印象です。
 

◆搭載している音色の種類
 GS音源+アルファの音色を搭載。
 GSリセットを受信することでGSの音色が使用可能になります。
 
 なお一般のGS音色マップに加え、
 音色99番(FX3/クリスタル)の枠内にMSB1のSyn Malletが搭載されています。
  どうもRoland SC-55mkIIの音色MAPから、MSB127を抜いた感じと思われます。
  もしかしたらVSC-55の音色MAPがそうなのかもしれません。
   ※なおSC-55とVSC-55は別の音源です。SC-55の超簡易版がVSC55-で、音質に大きな差があります)

◆リズム系楽器は発音時間が短いと鳴らない場合がある
 ドラム・パーカッションのパートは基本的には音符の長さに影響されず、常に一定の長さの音になります。
 なので長く設定しても意味がないためか、作曲ソフトのSingerSongWriterでは
 発音時間ゲートタイム=ノートオンからオフまでの時間が10に設定されています。時間で言えば一瞬。
 
 普通ならこれで問題ないのですが、
 しかし残念ながら、MSGSでは、GT(発音時間)が短いと音がほとんど鳴らず無視されやすいのです。
 従い、ドラムやパーカッションの音もある程度長くする必要があります。
 とりあえず軽いチェックではGTは20で問題なく発音されましたが、
 私の場合は念のために音符の発音時間の3分の1以上に設定しています。
 ただし中には発音時間の長さを反映する音もあるようです。
 ドラム「Brash」のNote40は、短いと発音時間が短くなります。GT100以上で完全再生を確認。
 

◆対応するコントロールチェンジ(CC)
 GS用のコントロールチェンジは未搭載。
 じゃーGM互換なのかな、と思いきや、そのGMのCCも一部未搭載らしいです。
 逆にGMやGSにない、111番を搭載。 これはループのためのもの。
  ↑勘違いです、CC111番は音源ではなくプレイヤー側(=ツクール等)の機能でした
   プレイヤー側から働きかける動作なので、どのMIDI音源を使っていても問題ありません。
 
 具体例としてよく使う、と思われるコントロールチェンジの効き目一覧です。
 〇は使用可能、×は未搭載のものです。
  × リバーブ
  × コーラス
  〇 ボリューム
  〇 エクスプレッション
  ○ パン
(※ただし効きが甘め)
  〇 モデュレーション
  〇 ピッチベンド

  〇 ピッチベンドレンジ(ピッチベンドセンシティビティ)
 
 

◆音色によっては発音数を大量に消費するパターン
一度にたくさんの音を鳴らそうとしても同時に鳴らせる音には限りがあります。
例えば曲の盛り上がりで楽器を一斉に「ジャーン!」と鳴らそうとして、
ブラスに6和音、ストリングス8和音、ピアノ7和音…というように
たくさん同時に鳴らそうとしても、MIDI音源の制限を超えた音は鳴りません。
 
同時発音数の最大数は音源によりけりですが、MSGSはあまり多くはない印象です。
具体的な限界値は試してはいませんが。
 
このことで気を付けたいのが、一部の残響のある音色。
 
ほとんどの音は発音時間が終わればすぐ音が消えますが、
一部はノートオフ後も音がしばらく余韻(残響)があります。
この残響音が消えるまでは発音中の扱いになります。
 
例えば残響の時間が長いのが、
101番(最初のピアノを0と数えるシーケンスソフトでは100番)のブライトネス。
こちらで素早いアルペジオを作ると迫力があり綺麗ですが、
同時発音数がものすごいことになり、他の音を一気にかき消してしまうので注意。
 
 
------------------------------
というわけで、とりあえず今回は以上です。
また気が付いたら追記・訂正をしていきます。