「RPG ツクール XP」 用の 「.mid」 を作成するのですが、別に 「RPG ツクール XP」 を購入する必要はありません。
Microsoft Download Center から無料で DL 出来る Microsoft DirectMusic Producer を使用します。
※ おそらく DirectX 9.0b 以上が必要です。
で、この Microsoft DirectMusic Producer はスタンドアロンの音源みたいな感じなので、これを Domino から操作するために 仮想 MIDI ケーブル を導入する必要があります。
一言でまとめますと、「Microsoft DirectMusic Producer」 と 「仮想 MIDI ケーブル」 の2つのソフトを導入する必要があります。
解凍したら出て来る 「ok_rpgxp.xml」 を Domino をインストールしたフォルダの 「Module」 フォルダの中 に 移動またはコピペ します。
インストールが完了したら、Domino を起動して 「ファイル → 環境設定 → MIDI-OUT」 の 「音源」 を設定して下さい。
「RPGツクール」 フォルダの中に 「RPGツクールXP (Microsoft Synthesizer)」 が追加されているはずです。
RPG ツクール XP で使用されている音源は 「Microsoft Synthesizer」 というもので、これは DirectMusic と呼ばれる音源 (の一部なのか、そのものなのか、それを利用して作成された音源なのかは分かりませんが) です。
仕様としては、「MSGS (Microsoft GS Wavetable SW Synth) の音質を 22050Hz → 44100Hz にして、リバーブを加えたもの」 と考えて良いと思います。
(若干違いますが)
ということで、もっとも単純な方法は 「MSGS (Microsoft GS Wavetable SW Synth) で作成して、最終的に Reverb を掛けたバランス調整のみを RPG ツクール XP で作成されたゲーム で確認する」 という方法です。
これだと、何も導入しなくても可能です。
しかし、激しく面倒なので、Domino から直接 RPG ツクール XP (Microsoft Synthesizer) と同じ音で鳴らせるようにします。
「Microsoft DirectMusic Producer」 は、「DirectMusic を使用したサウンドフォントを作成するためのツール」 でしょうか…?
詳しいことは分かりませんが、とりあえず RPG ツクール XP (Microsoft Synthesizer) と同じ仕様の音源 (若干違いますが)」 として利用可能なソフト です。
Microsoft Download Center から無料で DL 出来ますので、導入してみましょう。
※ おそらく DirectX 9.0b 以上が必要です。
※ DL するには OS の認証 (確認) が必要です。
私のように、「英語サイトだから何が書かれているか分からないYO!」 という方は、DirectX End-User Runtime Web Installer - 日本語 別 を別窓で開いて横に並べて下さい。
たぶん、同じ内容が書かれていると思いますので、両者を見比べながら画面の指示に従って認証を行って、「dx90_directmusicproducer.exe」 を DL して下さい。
(「dxwebsetup.exe」 は必要ありません。)
とりあえず、デスクトップでなければどこでも構いません。
ここでは、Domino をインストールしたフォルダに 「a」 という新しいフォルダを作成して、その中に移動させたと仮定して進めます。
(おそらくこれは、WinZip という圧縮ソフトで作成された自己解凍書庫だと思います。)
「DirectMusic Producer」 はスタンドアロンの音源みたいな感じなので、Domino から操作するためには 「仮想 MIDI ケーブル」 というものを導入しないといけません。
関連ページを参考に、「MIDI Yoke」 を導入して下さい。
【関連ページ】
※ 説明文の 「VST ホスト」 を 「DirectMusic Producer」 に置き換えて下さい。
※ 私の環境だと 「Maple Virtual Midi Cable」 では 「DirectMusic Producer」 をうまく操作出来ませんでした。
というか、いまいち原因が特定出来ないのですが、次の現象が起きます。
※ 右クリック (指は離さない) で適当にドラッグする (いくらかのノートオンを送信する?) まで無音状態が解除されません。
「MIDI Yoke」 では起きません。
何が原因なのでしょうね。
真っ先に疑ったのが Sys Ex なのですが、全部削除しても変わりませんでした。
色々実験してみたのですが、どうも 「このイベントがアウト」 ということではなく 「大量のイベントが一気に送信されるとアウト」 くさいです。
試しに、CH02 〜 CH16 までを削除したところ、この現象が起きませんでした。
では、「Program Change や RPN の CCM が悪いのか?」 と思ったのですが、これらを削除してみても変わりませんでした。
そんなわけで、DirectMusic Producer で使用する 仮想 MIDI ケーブルは 「MIDI Yoke」 を推奨します。
環境的に 「Maple Virtual Midi Cable」 しか使用出来ない方は、頭から再生した場合は一旦一時停止して、右クリック (指は離さない) で適当にドラッグして無音状態を解除して下さい。
仮想 MIDI ケーブルを導入 した後 に、Microsoft DirectMusic Producer の初期設定を行います。
「見付からないYO!」 という方は、「View → Transport Options」 にチェックを入れて下さい。
Domino を起動して、「ファイル → 環境設定」 の 「MIDI-OUT」 を画像のように設定します。
割と重要そうなことを書いたつもりです。
一度は目を通しておいて下さい。
口調が何かおかしいですが、気にしないで下さい^^;
ちょこっと検索してみると、「GM音色しか使えない」 という記述をチラホラ見掛けましたが、私が試してみた範囲では 普通に拡張 MAP も使えています。
Microsoft Synthesizer がバージョンアップとかしたんですかねー。
その代わり、致命的な問題を発見しましたので、強調して書いておきます。
GM マスターボリューム (「F0 7F 7F 04 01 00 xx F7」) を受信すると音が鳴らなくなります。
(ツクールXP サウンドテスター 別 ver.2.01 で確認)
したがって、私の定義ファイル (GSm、GSmxg、XG2k) で作成したものは軒並み全滅ということになります(;´Д`)
ちなみに、「Microsoft DirectMusic Producer」 だとマスターボリュームは普通に有効です。
微妙に違う、というのは この部分です。
しかし、よりによってマスターボリュームって…普通に考えればバグですよね。
何で放置されてるんだろう?
ということで、仕様としては 「MSGS (Microsoft GS Wavetable SW Synth) の音質を 22050Hz → 44100Hz にして、リバーブを加えたところ、何故かマスターボリュームが使えなくなった風味」 となります。
なお、リバーブは強過ぎると感じたので、当定義ファイルではデフォルトの値を 「20」 にしてあります。
【08.05.02 追記】
他にも違いがありました(>△<)
【ドラム追加について】
一応有効みたいですが、どうも Program Change の値が CH10 と異なる場合に無音になるようです。
つまり、ドラムパートの全ての CH で Program Change を同じ値にしなければなりません。
Progran Change の値が CH10 と同じであれば、普通に有効です。
Program Change が CH10 と異なる場合は、Microsoft Synthesizer (RPG ツクール XP) では無音になります。
【レイヤーについて】
一応有効みたいですが、ドラム追加と併用するとおかしくなるようです。
よく分かりませんが、2つ以上レイヤーを使用すると、最後の一つが無効となって、かつ、Volume が共通のものになる風味…?
使わない方が良さそうですね。
DirectMusic Producer と Microsoft Synthesizer (RPG ツクール XP) とで演奏が異なります。
【まとめ】
DirectMusic Producer との違いは次の3つです。
【08.05.28 さらに追記】
よく分かりませんが、「最後に指定したドラム追加が無効になる」 現象が発生しました。
Microsoft Synthesizer (RPG ツクール XP) では CH16 のドラム追加が無効 (右側の Hand Clap がピアノ) になります。
ドラムを 5個までしか追加出来ないのかな? と思って CH16 の分を移動させたのですが、すると今度は CH15 のドラム追加が無効 (真ん中の Hand Clap がピアノ) になりました。
まさかと思って、実験ファイル2 (drum_m2) の状態で使用していない CH16 を Drum1 にすると、CH15 が正常 (Hand Clap) になりました。
ならばと思って、実験ファイル1 (drum_m1) の状態で CH10 のドラム追加を追加してみると、CH16 が正常 (Hand Clap) になりました。
ということで、どうも 「最後に指定したドラム追加が無効になる (ことがある)」 くさいです。
よく分からないバグですね。
詳しく調べていませんが、とりあえずは 「最後に CH10 のドラム追加を追加する」 ことで回避可能なようです。
(厳密には回避はしていないんでしょうけど、CH10 のドラム追加が無効になっても、元々 CH10 はドラムなので変化無し、ということだと思います。)
この現象にぶち当たってしまった場合は、ドラム追加の最後を CH10 のドラム追加にしましょう。
コメントに書いてある通りのことをして下さい。
すなわち、次の2つです。
検索して調べてみたところ、「RPG ツクール XP」 では 「.mid」 の再生時に 「自動的に GM System On を入れて」、さらに 「一番最初のノートの位置までをテンポを無視して高速再生する」 らしいですね。
当定義ファイルでは、拡張音色の使用 や 特に重要なドラムの追加 のために、頭の位置に GS Reset と ドラム追加用のエクスクルーシブを 入れなければならない ので、そんな高速再生とかされると困ってしまうのです。
ということで、高速再生の回避策として、このようなことを行います。
これをやらないと、「RPG ツクール XP」 で再生した時に楽器が変わらなかったり、Pan や Volume が初期化された状態で演奏されてしまう恐れがあります。
こうすることで、冒頭の無音時間を最小限 (「自動挿入される GM System On の処理時間」 + 「0.125 秒」) に抑えることが出来ます。
「1. ※ ダミーのノートを挿入して下さい。」 で最初のノートまでの高速再生を回避しているので、必ず行って下さい。
命令形を使っちゃいます。
「変えるな!」
理由は関連ページをご覧下さい。
ようするに、テンポを早くするとリセットに必要な処理時間を確保出来なくなる恐れがあるからダメ。
テンポを遅くするのは別に問題はないのですが、テンポが遅いということは それだけ時間が掛かるということで、その分無駄な時間が増えてしまうことになります。
結局、「120.000」 がベストなのです。
ただ、ドラム追加のエクスクルーシブが 4 Tick で足りてるのかどうか、ちょっと自信無いんですが(;´Д`)
(いくつか確認したら大丈夫風味だったので、そのままにしてあります。)
RPG ツクールシリーズ の最大の特徴であると思われるループの設定を行います。
「ループポイント」 というトラックを用意したので、そこで行って下さい。
RPG ツクールシリーズでは、CC#111 がループポイントになります。
初期状態で入力してありますので、あとはループさせたい場所 (小節、拍、Tick) を直接入力して移動させます。
イベントリストの 「Mea、Bt、Tick」 を直接入力して下さい。
また、念のため 1 Tick だけズラした方が良いらしいので、自動的に 1 Tick ズレるように設定します。
「トラックセレクトペインを右クリック → トラックのプロパティ」 で 「Tick補正」 を 「-1」 にして下さい。
これで、自動的に 1 Tick だけ前にズレるようになります。
ループの開始の設定は、こんな感じです。
続いて、終了の設定に移ります。
ループの終了位置はそのまま 「.mid」 の終了位置を意味します。
すわなち、「イベント → End of Trackの調節」 で設定します。
終了させたい位置に演奏線を置いて、 「イベント → End of Trackの調節」 を実行して下さい。
全てのトラックの終了位置が、その位置になります。
ループをさせないで曲を終了させたい場合は、CC#111 ループポイントの位置を 「音が鳴り終わった後、かつ、End of Track の前」 に配置します。
さらに、2 〜 3 Tick 前にでも CCM#131 マスターボリューム:0 を配置しておけば完璧になると思います。
自動的に 1 Tick だけ前にズレるようにしているので、別に End of Track と同じ位置でも構わないのですが…まあ、何となく気分です^^;ゞ
実際にどのようにループされるかを確認します。
Domino で 「ループマーカーを作成 → ループ演奏」 でも一応確認出来ますが、やはり微妙に違う場合がありますので、こればっかりは実際に 「RPG ツクール XP」 で作成されたプログラムで確認するしかありません。
ということで、「ParaSite2D6 RPG館」( http://2d6.parasite.jp/ 別 ) に 「ツクールXP サウンドテスター」 という素晴らしいツールが公開されていますので、使わせて頂きましょう。
08.05.28
08.05.02
08.04.27 Ver 0.02
08.01.06 Ver 0.01