TMIDI Player 取扱説明書 No.3

3.1 MIDIエミュレーション機能

3.1.1 概要

TMIDIには、他のプレイヤにない機能としてMIDIエミュレーション機能が上げられます。

たとえば、私はSC-88を所有していますが、SC-88PRO用のデータを聞くとまったく音が出なかったり、一部出なかったりします。そこでMIDIエミュレーション機能を使用するととりあえず音が出るようになります。

また、Sound Blaster32のようなエクスクルーシブをまったく受け付けない音源でもTMIDIがエミュレートすることにより、ドラムを正常に鳴らしたり、音程がずれてしまうことを避けたりします。

SC-33やGS互換と言われている大半の音源では、MT−32やCM−64用の曲が聴けませんが、パッチテーブルを搭載させることにより聞けるようになります。

SC-88PROなどの上位機種で、SC-55などの下位機種用のデータを聴く場合は PRO本体の MAPボタン を押さなくてはいけませんが、これを自動的に切り替えることができます。

SC-88などのGS音源で、MU80用データのバンクセレクトによるドラムマップへの切替をエミュレートします。

これらの一部機能は今までのプレイヤーにも存在していましたが、TMIDIの特色はドキュメントファイルから自動検索して適切に設定するところと、使用する音源を指定すればあとは曲ごとに適切に設定されるということです。

ドキュメントファイルから自動検索することによりヒット率は90%程度になります。 また、演奏モニタの楽器名表示と連動しており、データの対象としている音源によって楽器名テーブルが自動的に変わります。

3.1.2 設定方法

とくに難しい知識を必要としません。環境設定でMIDIエミュレーションに関する設定をすれば完了です。これで使用音源側に関する設定は終わりです。

演奏する場合は対象音源に注意しなければなりません。液晶部分の右下部分に自動判別の結果が表示されます。期待する音源と異なれば、リストウィンドウで右クリックをして、TDF演奏設定ファイルの編集をしてください。

3.1.3 エミュレーション判別アルゴリズム

MIDIファイルの対象音源は以下の順序でサーチされます。

  1. ファイル名 (フォルダ名含む)
  2. MIDIファイルの曲名
  3. 添付ドキュメント (.DOC .TXT など) の先頭数百バイト

また、サーチされるキーワードは、TMIDI.EXEに内蔵されている設定ファイルによって記述されています。この設定ファイルは、TMIDIのメニューのオプション(O), MIDI設定, エミュレーション, 内蔵定義ファイル書き出しボタンを押すと、取得できます。[keyword]セクションにキーワード一覧があります。


3.2 WRD表示機能

TMIDIには、MIMPI ver3.7以降に備わったWRD表示機能とほぼ同等の機能を備えています。

他のWindows用WRDプレイヤーと違い、256色モードにする必要がありません。フルカラーモードの場合でもそのまま表示できます。ただし当然ですが、かなりのマシンパワーが必要です。

また、TMIDIはDirectXの機能を利用して、フルスクリーン状態で表示することが出来ます。256色モードの場合、パレットチェンジ時の走査線の横切りを押さえることが出来ます。

WRDウィンドウを右クリックすると、WRDの設定ダイアログが出てきます。また、最大化時にダブルクリックすると、液晶部分も消えて、本当の意味でのフルスクリーン表示になります。

3.2.1 互換性

MIMPI WRDの仕様は、規格と呼べるほど完成された仕様ではないため、いくつか挙動不審な点があり、それをエミュレートするのは大変困難です。そのため、いくつかのWRDファイルでタイミングずれを起こすものもあります。

3.2.2 演出君メカ

BUCHIさん作の演出君メカの一部のコマンドに対応しています。

対応しているコマンドは、^FONTM, ^FONTR, ^FONTP, ^XCOPY(method=0,1,8,10), ^VCOPY, ^VSRES, ^VSGET, ^PAL です。これ以外のコマンドには対応していません。

正常表示できない演出君メカ用の巨大WRDをメールで送るのは止めるようにお願いします。非常に困っています。(しかも毎度同じWRDファイル 電話代がかかってしょうがない)

新規格Sherry WRD

新WRD規格である、Sherry WRDに対応しています。詳細は、4.5 Sherry WRDについてをご覧ください。

DVファイル表示

DECOPで表示される DVフォーマットの歌詞データを表示する事が出来ます。この機能は、Nissyさんが作られた DV2WRD32.DLL を利用します。今回のリリースでは、Nissyさんの都合により、今のところ単独公開はせず、TMIDIに添付してのリリースとなります。


3.3 リスト機能

リスト機能とは、いくつかの曲データを登録し、曲順をファイルに記録しておく機能です。保存したリストファイルはいつでも順番に演奏できます。

リスト機能を使うには、まず ファイル(F)−新規リストの作成(N)を選んで空のリストファイルを作ってください。作られると直ちに編集画面に入ります。登録したい曲を右側のリストボックスから選んで左側へ登録していってください。また、エクスプローラからドロップすることもできます。登録順序を変えるには、左側のリストボックスの中でドラッグアンドドロップをしてください。


3.4 アルバム機能

アルバム機能とは、いくつかの曲順リストファイルを登録して、一発で呼び出せるようにする機能です。

アルバムメニューの 追加 を選ぶと、リストファイルを追加することが出来ます。エクスプローラ等からドロップすることも出来ます。


3.5 ドキュメントファイル表示機能

TMIDIでは、MIDIデータに付属しているドキュメントファイルを閲覧する機能があります。拡張子が TXT,DOC,ホソク,HED のファイルすべてを読み込みます。また、ファイルが見付からなかった場合は同じディレクトリにあるドキュメントファイルを読みに行きます。

LZH機能を利用すると、まったく関係の無いドキュメントファイルが読まれる場合があります。?:\WINDOWS\TEMP\TMIDILZH ディレクトリのなかにごみが溜まっているとこのようなことが起きます。定期的に中を清掃してください(^^;

ごみはTMIDIが異常終了,もしくはWindowsがハングアップした時に発生します。


3.6 環境設定

3.6.1 MIDI設定

MIDIに関連する設定ができます。

MIDIポート設定

使用するMIDIポートを設定します。3つまで指定する事が出来ます。同じデバイスを複数指定しても無視されます。

MIDIエミュレーション設定

MIDIエミュレーション機能の設定をします。通常の使用では、使用楽器にはあなたの使用している音源を、対象音源は自動判別、フィルター機能は (なし) に設定してください。

MIDIシーケンサ設定

演奏に関する設定をします。

割り込み間隔は、演奏処理する間隔を設定します。短ければ短いほど精度の高い演奏が出来ます。ただし、CPUの占有率が高くなり、他のソフトの動作が遅くなります。

MIDIメッセージ転送レートの調整をチェックすると、Roland系の音源で起こるMIDIメッセージのとりこぼしを抑制する事が出来ます。この現象はシリアルMIDI I/Fの38.4kbps(M(PC-2)を使用した場合に頻発します。詳細はMIDIメッセージ転送速度の問題をご覧ください。副作用として、演奏がもたりやすくなります。(そもそも、もたるデータのほうがおかしいのだが)

DLLタイプオプションは、使用するDLLを選ぶ事が出来ます。良く分からない人はいじらないでください。必ず16bitで使用してください。(NT使用時は除く)

これはFAQなんですが、Windows95を使用している方が、訳も分からず32bitを選ぶようです。32bitにするとOSの構造上、必ずテンポが不安定になります。詳しくは、Microsoft社のWWWサイトにある、Knowledge BaseのQ153400 How to Use Multimedia Timer Services on Windows 95を参照してください。

3.6.1 ウィンドウ設定

メインウィンドウ

独立ウィンドウ指定は、TMIDIのメインウィンドウとは独立のフレームで表示するウィンドウを指定します。

実行制御には、メインスレッド(演奏スレッドとは別です)の実行優先順位を指定します。このオプションはExpert専用です。素人の方はいじらないでください。危険です。この値を高くすると、相対的に演奏スレッドの順位が下がるので演奏が不正確になります。また、この値を下げすぎると動作が遅くなり、次の曲へ進まなくなったりします。

DirectDrawをロードしない オプションをチェックすると、DirectDrawライブラリとのリンクをしなくなります。DirectDrawを使用すると動作が不安定になる方がチェックしてください。起動すら出来ず、この環境設定を開けない方は DDNOT.REGファイルを実行してください。このオプションが有効になるように設定されます。

CPUアイドル時間を使わない オプションをチェックすると、演奏モニタなどのポーリング頻度が下がります。この結果、動きが鈍くなったり、表示が不正確になります。このオプションをチェックしてもほとんどCPU占有率は下がりません。ただ、タスクマネージャなどのパフォーマンスモニタを見ると常に 100% と出てしまうため、気になる人がいるようです。気になるひとはチェックしてください。また、インテリマウス、xmouseなどのCPUアイドル時間の検出をして動かすアプリケーションを使用した場合は弊害が出るので、このオプションをチェックしてください。

WRD

演出君メカフォントファイルには、演出君メカでデフォルトで読み込まれるフォントを指定します。何の事か良く分からない人は設定しないでください。

高速描画オプションをチェックすると、描画の一部を端折って描画を高速にします。多少描画過程が見えなくなったり、コマ落ししたような感じになりますが、最終的な表示結果は同じです。

全画面表示設定には、全画面表示にしたときに使われるビデオモードを指定します。DirectDrawの動作が不安定な人は、推奨どおり "色数を変更しない" を選んでください。それ以外の方は 256色 を選んだほうが得です。

パレットチェンジ時のVSYNC同期は、普段は VBLANK検出のみ を選んでください。良く分からない人はいじらないでください。

キーカスタマイズ

左側の機能一覧から機能を選んで、右側の欄でショートカットキーを定義します。Windowsの仕様上、F10キーとBSキーは設定できないようです。"なし"にしたい場合はBSキーを押してください。

デフォルト状態に戻したい場合は、HKEY_CURRENT_USER\Software\TK\KeyConfigTable以下を全て削除してください。

3.6.1 MIDIデバイス切替設定

MIDIポートと、MIDIエミュレーションの使用楽器情報をセットにして、すばやく切り替える事が出来ます。


3.7 演奏モニタ

演奏モニタには、各チャンネルのパラメータ、発音中のノートが表示されます。また、マウスでクリックさせることにより、そのパラメータをリアルタイムで変更することが出来ます。

3.7.1 パラメータの種類

演奏モニタには次のようなパラメータが表示されます。

チャンネルごとのステータス

曲全体のステータス

Vibrato,Filter,Envelopeの部分はNRPNを表示します。NRPNボタンを押して、淡色表示から、黒文字にすると、画面レイアウトが変わります。

in C/Amボタンは、コードの表示をC/Amに移調して表示します。

3.7.2 パラメータの変更

マウスを操作することにより、各パラメータを変更する事が出来ます。

左(右)クリックをするとパラメータが1増え(減り)ます。また、左ボタンを押しながら右を押すとパラメータの変化が早くなります。

現在のバージョンのプログラムチェンジについては、数字の部分へのクリックのみ対応しています。楽器名、マップ名へのクリックには対応していません。

また、チャンネル番号の部分をクリックすることにより、チャンネルごとのミュートを制御することが出来ます。左クリックをするとミュート状態の切替。右クリックで全チャンネルミュート解除、左ダブルクリックでソロ演奏ができます。

3.7.3 コード表示

発音しているノートからコードを解析して表示することが出来ます。転回形も表示されます。分数コードと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はすべて紫で表示するようになっています。

3.7.4 楽器名表示

楽器名表示は基本的には対象音源の設定が必須となります。対象音源の設定が間違っていた場合は正しく表示されません。

現バージョンで以下の音色表に対応しています。


3.8 MIDI THRU機能

オプションメニューの中にある、MIDI THRUを選ぶとMIDI THRU機能が使用できます。この機能はMIDI THRUダイアログが表示している間のみ使用可能です。

ステータスメッセージ以外のすべてのメッセージを通します。エクスクルーシブも、もちろん通します。ただ、エクスクルーシブメッセージのTHRUは、メッセージの取りこぼしが起きるかもしれません。もし起きたらバグレポートをお願いします。私の環境では特に目立った取りこぼしはありませんでした。

また、出力するメッセージを加工する事も出来ます。出力チャンネルを変更する事が出来ます。また、ベロシティ値を加工する事も出来ます。また、MIDIエミュレーションモードの影響を受けます。

入力されたメッセージは、演奏モニタに反映されます。ノート表示も行われ、コード解析も行われます。


3.9 最大化表示機能 (フルスクリーン表示)

TMIDIは画面をめいいっぱい使ってWRD(歌詞)を表示する事が出来ます。この機能を使用するにはDirectX2以上が必要となります。

フルスクリーンモードにするには、最大化ボタンを押してください。これだけでOKです。ディスプレイとの同期周波数が切り替わるため、一瞬画面が乱れたり暗くなります。これでディスプレイを破壊することはないはずです。(もし壊れたら、コンピュータメーカの怠慢です。自作機はもちろん製作者の責任です。生半可な知識を使って組み立てないように。)

また、フルスクリーン時に画面色数の設定を変える事も出来ます。基本的に256色モードのときが一番パフォーマンスがいいです。環境設定のWRD設定の欄で設定してください。


3.10 WRDデバッグ機能


WRDのデバッグに便利な機能を搭載しています。

メニューで、ウィンドウ(W)-WRDデバッグウィンドウ を押すと、今演奏しているWRDと、現在位置が表示されます。

また、以下のようなキーにWRDデバッグに便利な機能が割り当てられています。

キー動作
Alt+'0'パレット初期化
Alt+'.'パレット初期化 (白)
Alt+'1' 〜 '9'WRD画面ページ切り替え
Alt+'-'グラフィック画面ON/OFF
Alt+'*'テキスト画面ON/OFF

3.11 SMFナイフDLL


SMFナイフで変換したファイルを演奏させる事が出来ます。また、RCPCV.DLLを利用する事により、RCP/R36/G36ファイルも変換する事が出来ます。

2通りの変換の仕方があります。

MIDIエミュレーションと連動

MIDIエミュレーションの代わりにSMFナイフを利用する方法です。勝手に音源を判別して、コンフィグファイルを選んでSMFナイフへ渡します。

この設定は、TMIDIの MIDI設定 - MIDIエミュレーション - 定義ファイル 欄に、SMFKNIFE.DEFを読み込ませると可能になります。SMFKNIFE.DEFはTMIDIに添付されています。

曲プロパティで設定

リストウィンドウを開いて、ファイルのプロパティを開くと、SMFナイフ タグが出てきます。ここで設定すると変換後のファイルを再生する事が出来ます。

現バージョンでは、LZHファイル内のファイルを変換する事が出来ません。


Copyright(c)1998 Fummy. All rights reserved.
fummy@din.or.jp