聞きたいMIDIデータを、互換性の無い音源で演奏する場合、一部の音が演奏されなかったり、まったく違う音が演奏されて聞き苦しくなる場合があります。
MIDIエミュレーションは、互換性の無い音源でもある程度の演奏が出来るように、送信データの一部を変更します。
MIDIエミュレーションを利用するためには、はじめに、対象音源、使用音源の設定が必要となります。
対象音源とは、演奏したいデータが対応している音源のことです。使用音源とは、演奏させたい、音源のことです。
使用音源はユーザー側で設定する必要があります。
対象音源については、ユーザー側が指定することも出来ます。また、MIDIデータの添付文書から読み取って自動的に設定することも出来ます。
環境設定でMIDIエミュレーションに関する設定をすれば完了です。これで使用音源側に関する設定は終わりです。
対象音源の設定は、液晶部分の右下部分に自動判別の結果が表示されます。期待する音源と異なれば、リストウィンドウで右クリックをして、TDF演奏設定ファイルの編集をしてください。
MIDIファイルの対象音源は以下の順序でサーチされます。
また、サーチされるキーワードは、TMIDI.EXEに内蔵されている設定ファイルによって記述されています。この設定ファイルは、TMIDIのメニューのオプション(O), MIDI設定, エミュレーション, 内蔵定義ファイル書き出しボタンを押すことにより取得できます。[keyword]セクションにキーワード一覧があります。
TMIDIには、MIMPI ver3.7以降に備わったWRD表示機能とほぼ同等の機能を備えています。
TMIDIはDirectXの機能を利用して、フルスクリーン状態で表示することが出来ます。256色モードの場合、パレットチェンジ時に発生する走査線の横切りを押さえることが出来ます。
WRDウィンドウを右クリックすると、WRDの設定ダイアログが出てきます。また、最大化している時に、マウスカーソルを画面下部へ移動すると、液晶部分が表示されます。
いくつかのWRDファイルでタイミングずれを起こすものもあります。
テキスト表示のエミュレーション仕様上、全角文字の半分がゴミとなって残る場合が有ります。
エスケープシーケンスを、1文字ずつ表示した場合、エスケープシーケンスとしての動作ができません。
@EXECコマンドは仕様上動作しません。その他、Windows上でのエミュレートが難しいコマンドは、動作しない場合が有ります。
BUCHIさん作の演出君メカの一部のコマンドに対応しています。
対応しているコマンドは、^FONTM, ^FONTR, ^FONTP, ^XCOPY(method=0,1,8,10), ^VCOPY, ^VSRES, ^VSGET, ^PAL です。これ以外のコマンドには現在対応しておりません。
新WRD規格である、Sherry WRDに対応しています。詳細は、4.5 Sherry WRDについてをご覧ください。
DECOPで表示される DVフォーマットの歌詞データを表示する事が出来ます。この機能は、Nissyさんが作られた DV2WRD32.DLL を利用します。今回のリリースでは、Nissyさんの都合により、今のところ単独公開はせず、TMIDIに添付してのリリースとなっています。
リスト機能とは、いくつかの曲データを登録し、曲順をファイルに記録しておく機能です。保存したリストファイルはいつでも呼び出すことが出来、その順番通りの演奏ができます。
リスト機能を使うためには、まず、 ファイル(F)−新規リストの作成(N) を選んで空のリストファイルを作成してください。作られると直ちに編集画面に入ります。登録したい曲を右側のリストボックスから選んで、左側へ登録してください。また、エクスプローラからドロップすることもできます。登録順序を変えるためには、左側のリストボックスの中でドラッグアンドドロップをしてください。
アルバム機能とは、いくつかの曲順リストファイルを登録して、TMIDIのメニューから、一発で呼び出せるようにする機能です。
アルバムメニューの 追加 を選ぶと、リストファイルを追加することが出来ます。エクスプローラ等からドロップすることも出来ます。
TMIDIでは、MIDIデータに付属しているドキュメントファイルを閲覧する機能があります。拡張子が TXT,DOC,ホソク,HED のファイルすべてを読み込みます。また、ファイルが見付からなかった場合は、同じディレクトリにあるドキュメントファイルを読みに行きます。
LHAのアーカイブを読み込んだ場合、まったく関係の無いドキュメントファイルが読まれる場合があります。?:\WINDOWS\TEMP\TMIDILZH ディレクトリのなかにごみが溜まっているとこのようなことが起きます。チェックしてみてください。
ごみはTMIDIが異常終了,もしくはWindowsがハングアップした時に発生します。
MIDIに関連する設定ができます。
使用するMIDIポートを設定します。6つまで指定する事が出来ます。同じデバイスを複数指定しても無視されます。
MIDIエミュレーション機能の設定をします。通常の使用では、使用楽器にはご使用されている音源を、対象音源は自動判別、フィルター機能は (なし) に設定してください。
演奏に関する設定をします。
割り込み間隔は、演奏処理する間隔を設定します。短ければ短いほど精度の高い演奏が出来ます。ただし、CPUの占有率が高くなり、他のソフトの動作が遅くなります。
MIDIメッセージ転送レートの調整をチェックすると、一部音源で起こるMIDIメッセージのとりこぼしを抑制する事が出来ます。この現象はシリアルMIDI I/Fの38.4kbps(M(PC-2)を使用した場合に頻発します。副作用として、演奏がもたりやすくなります。
DLLタイプ オプションでは、使用するシーケンスエンジンDLLを選ぶ事が出来ます。Windows95をご利用の方は、16bitで使用したほうがテンポが安定しやすくなります。
独立ウィンドウ指定は、TMIDIのメインウィンドウとは独立のフレームで表示するウィンドウを指定します。
実行制御には、メインスレッド(演奏スレッドとは別です)の実行優先順位を指定します。この値を高くすると、相対的に演奏スレッドの順位が下がるので演奏が不正確になります。また、この値を下げすぎるとTMIDIの動作が遅くなり、次の曲へ進まない、など不具合が生じます。このオプションは、システムの動作に悪影響を及ぼすことがあるので、通常は変更しないでください。
『DirectDrawをロードしない』 オプションをチェックすると、DirectDrawライブラリとのリンクをしなくなります。DirectDrawを使用すると動作が不安定になる方は、このオプションをチェックしてみてください。起動すら出来ず、この環境設定を実行できない方は レジストリエディタで、HKEY_CURRENT_USER\Software\Fummy\TMIDI Player の、DDNoRead の値を 1 にしてください。このオプションが有効になるように設定されます。
『CPUアイドル時間を使わない』 オプションをチェックすると、演奏モニタなどのポーリング頻度が下がります。この結果、動きが鈍くなったり、表示が不正確になります。
『演出君メカフォントファイル』には、演出君メカでデフォルトで読み込まれるフォントを指定します。指定しない場合は、Windowsフォントが使用されます。
『高速描画』オプションをチェックすると、描画の一部を端折って、描画を高速にします。多少、描画過程が見えなくなったり、コマ落ちしたような感じになりますが、最終的な表示結果は同じです。
『全画面表示設定』には、全画面表示にしたときに使用されるビデオモードを指定します。DirectDrawの動作が不安定な方は、推奨どおり "色数を変更しない" を選んでみてください。また、SherryWRDをご覧になる場合、256色と指定すると色が化ける場合が有ります。
『パレットチェンジ時のVSYNC同期』は、普段は 『VBLANK検出のみ』 を選択することを推奨します。
左側の機能一覧から機能を選んで、右側の欄でショートカットキーを定義します。ウィンドウメッセージのフックの仕方から、F10キーとBSキーは設定できないようです。"なし"にしたい場合はBSキーを押してください。
デフォルト状態に戻したい場合は、HKEY_CURRENT_USER\Software\Fummy\KeyConfigTable以下を全て削除してください。
MIDIの実際のポートと、データで指定されているポートの対応を変更することが出来ます。MIDIパッチベイと同様なものです。
また、対象音源と連動して、ポートマップの切替、使用音源の切替を自動的に変更することも可能です。
メニューの、オプション(O)-MIDIポートマッパー設定(P) を選択して、設定ダイアログを開いてください。
ダイアログの、ポートマップ欄で、ポートとポートの対応を指定してください。また、エミュレーションを使う場合は、使用音源も設定してください。自動ポートマップ切替の説明は後程いたします。
実際に設定されたポートマップを選択するためには、演奏モード(S)に設定したマップが表示されるので、そこで選択してください。
読み込んだデータの対象音源によって、マップを自動的に切りかえることが出来ます。
MIDIポートマッパー設定のダイアログの、自動ポートマップ切替のリストに、切り替えたい対象音源を追加してください。リストに入った対象音源を演奏する時、このマップが使用されることになります。
設定が終了したら、メニューの 演奏モード(S)-MIDIポートマップ自動 を選択して、自動切替を有効にします。
実際に設定がどう反映されているかどうかの確認は、ウィンドウ(W)-デバッグ で表示されるウィンドウで確認してください。
演奏モニタには、各チャンネルのパラメータ、発音中のノートが表示されます。また、マウスでクリックさせることにより、そのパラメータをリアルタイムで変更することが出来ます。
演奏モニタには次のようなパラメータが表示されます。
Vibrato,Filter,Envelopeの部分はNRPNを表示します。NRPNボタンを押して、淡色表示から、黒文字にすると、画面レイアウトが変わります。
in C/Amボタンは、コードの表示をCもしくはAmに移調して表示します。
マウスを操作することにより、各パラメータを変更する事が出来ます。
左(右)クリックをするとパラメータが1増え(減り)ます。また、左ボタンを押しながら右を押すとパラメータの変化が早くなります。
現在のバージョンのプログラムチェンジについては、数字の部分へのクリックのみ対応しています。楽器名、マップ名へのクリックには対応していません。
また、チャンネル番号の部分をクリックすることにより、チャンネルごとのミュートを制御することが出来ます。左クリックをするとミュート状態の切替。右クリックで全チャンネルミュート解除、左ダブルクリックでソロ演奏ができます。
発音しているノートからコードを解析して表示することが出来ます。転回形も表示されます。分数コードとUSTについては、いい解析アルゴリズムが考えられなかったため、表示できません。
コード表示はそのチャンネルで鳴らしている音の構成音を見て判断します。そのため、曲の進行を表すコードではありません。
複数の解釈が出来る場合は、そのすべてが表示されます。
例: Cm7 A#6
ディミニッシュは、すべての構成音が短3度ずつ離れているので、必ず4つ出てき てしまいます。
例: Cdim D#dim E#dim Adim
テンションコードは、C7(-9 11 13)のように表示されます。理論上ありえない組み合わせでも表示されます。
対応しているコード (ルートがCの場合)
以上と、(-9,9,+9,11,+11,-13,13)のテンションコード。テンションコードは 検出されれば無条件に表示されます。
また、曲データ中のキー情報をもとに、トニック、サブドミナント、ドミナントを判別して表示します。トニックは緑、サブドミナントは青、ドミナントは赤で表示され、それぞれの代理コードは暗い色で表示されます。
また、セコンダリードミナントコード、裏コード(IIb7) は紫で表示されます。先読みはしないので、ノンダイアトニックコードの7thはすべて紫で表示するようになっています。
楽器名表示は基本的には対象音源の設定が必須となります。対象音源の設定が間違っていた場合は正しく表示されません。
現バージョンで以下の音色表に対応しています。
オプションメニューの中にある、MIDI THRUを選ぶとMIDI THRU機能が使用できます。この機能はMIDI THRUダイアログが表示している間のみ使用可能です。
ステータスメッセージ以外のすべてのメッセージを通します。エクスクルーシブも、もちろん通します。ただ、エクスクルーシブメッセージのTHRUは、メッセージの取りこぼしが起きるかもしれません。もし起きたらバグレポートをお願いします。私の環境では特に目立った取りこぼしはありませんでした。
また、出力するメッセージを加工する事も出来ます。出力チャンネルを変更する事が出来ます。また、ベロシティ値を加工する事も出来ます。また、MIDIエミュレーションモードの影響を受けます。
入力されたメッセージは、演奏モニタに反映されます。ノート表示も行われ、コード解析も行われます。
TMIDIは画面をめいいっぱい使ってWRD(歌詞)を表示する事が出来ます。この機能を使用するにはDirectX2以上が必要となります。
フルスクリーンモードにするには、最大化ボタンを押してください。これだけでOKです。ディスプレイとの同期周波数が切り替わるため、一瞬画面が乱れたり暗くなります。
また、フルスクリーン時に画面色数の設定を変える事も出来ます。基本的に256色モードのときが一番パフォーマンスがいい場合が多いです。環境設定のWRD設定の欄で設定してください。
WRDのデバッグに便利な機能を搭載しています。
メニューで、ウィンドウ(W)-WRDデバッグウィンドウ を押すと、今演奏しているWRDと、現在位置が表示されます。
注意: WRDデバッグウィンドウは、現バージョンでは搭載されておりません。
また、以下のようなキーにWRDデバッグに便利な機能が割り当てられています。
キー | 動作 |
---|---|
Alt+'0' | パレット初期化 |
Alt+'.' | パレット初期化 (白) |
Alt+'1' 〜 '9' | WRD画面ページ切り替え |
Alt+'-' | グラフィック画面ON/OFF |
Alt+'*' | テキスト画面ON/OFF |
SMFナイフで変換したファイルを演奏させる事が出来ます。また、RCPCV.DLLを利用する事により、RCP/R36/G36ファイルも変換する事が出来ます。
2通りの変換の仕方があります。
MIDIエミュレーションの代わりにSMFナイフを利用する方法です。勝手に音源を判別して、コンフィグファイルを選んでSMFナイフへ渡します。
この設定は、TMIDIの MIDI設定 - MIDIエミュレーション - 定義ファイル 欄に、SMFKNIFE.DEFを読み込ませると可能になります。SMFKNIFE.DEFはTMIDIに添付されています。
また、cfgファイルの位置を指定する必要が有ります。 TMIDIの MIDI設定-SMFナイフ 欄の、cfgファイルの項目にフォルダの名前を入れてください。
リストウィンドウを開いて、ファイルのプロパティを開くと、SMFナイフ タグが出てきます。ここで設定すると変換後のファイルを再生する事が出来ます。
現バージョンでは、LZHファイル内のファイルを変換する事が出来ません。