MIDIエミュレーションにおける、それぞれの音源のエミュレーションの仕方、限界などについてを述べます。
まず、MIDIエミュレーション機能は、音源のメーカ、機種により出力される音に違いがあるので、再現性という点では基本的に無理であるということを認識しておいてください。
また、TMIDIのエミュレーションは"とりあえず鳴らす"のが目標です。音を似させようという意図はまったくありません。
注:この文章での"互換性がある"というのは、MIDIメッセージを正しく受信するという意味です。音色に互換性があるわけではありません。
Roland製音源同士の変換は、対象音源が、使用音源より下位互換機種であれば、たいていうまくエミュレーションされます。マップ切替で対処しています。
その逆に上位互換機種である場合や、その他のメーカの音源用のデータは、バンクセレクトを無効にすることで対処します。No Instrumentを防ぐ事によって対処しています。
また、SC-33では、SC-55以上に搭載されているCMバンクをエミュレーションできるようにしていますので、一部の音色を除いてSC-55とほぼ同等の演奏が出来ます。
ver2.1からはXGのドラムマップ切替をGSのエクスクルーシブに変換します。ただし、使用音源がSC−88PROの場合は、隠し機能であるXG互換機能を使用します。
SC-8850については、音色マップの切替のみ対応しております。残りについては、実機を入手し次第、対応する予定です。
XG仕様はスケーラビリティーがありますので、XG音源同士の場合はそのまま演奏できます。
Roland用データは音源側でエミュレーション機能(TG-300モード)がありますので大丈夫です。ただし、C/Mバンクの無い音源が一部ありますので、その場合は、 "YAMAHA XG(without C/M)"を選んで下さい。
その他の音源についてはバンクセレクトを無効にして対処しています。
また、YAMAHAのTGシリーズはGS互換らしい(?)ので、SC-55などを選んでください(未確認情報)。CBX-T1はGM音源を選んだほうがいいみたいです。(未確認情報)
基本的には、GM音源として扱います。GS/XG用データは、エクスクルーシブ、バンクセレクトを一部変更して、対応させていますので、ドラムパートがピアノなどになることはありません。
一部演奏データには、BankAを使用したものがあります。ドキュメントにそって、Presetをロードして下さい。
また、05R/W, X5Dの方は、MIDI FilterをすべてENAにして下さい。そうしないとバンクセレクト信号が無視されてしまいます。
NS5RでGS,XG用,05R/W用のデータを演奏させることについては確認が取れてます。 ん。
Sound Blasterシリーズは、GM音源ではありませんが、音色のみ、GM配列になっております。
SoundBlaster(AWE)32/64, WaveBlaster/IIについてはすべて同じ物と考えていただいて結構です。"Creative Sound Blaster32/AWE32"を選んでください。
こちらでもSound Blaster 32で動作確認を行っており、GS,XGのドラムマップ切替を、すべて10chへリダイレクトすることにより、多少強引ですが実現しています。また、MT-32, CM-32/64のデータもパッチをあてることにより演奏できるようになっています。
WinGrooveでは、一部のGSエクスクルーシブを受信するのでなるべくそちらを使用するようにしています。内部的にはSC-33と同様の処理をします。
MidiStar/GSは、GS音源との互換性が高いようです。SC-33+α(SC-55-α)と考えて結構です。
その他のGM音源であればSoundBlaster32と同等のエミュレーションを行います。GM音源以外は対応していません。(MT-32,CM-32/64など)
対象音源 | |||||||
---|---|---|---|---|---|---|---|
使用音源 | KORG | Roland | YAMAHA | ||||
05R/W,X5D | NS5R | SC-55など | SC-88 | SC-88Pro | SC-8850 | XG | |
05R/W,X5D | ◎ | △ | ○ | ○ | ○ | ○ | ○ |
NS5R | ◎ | ◎ | ○ | ○ | ○ | ○ | ○ |
SC-55 | △ | △ | ◎ | ○ | ○ | ○*1 | ○ |
SC-88 | △ | △ | ◎ | ◎ | ○ | ○*1 | ○ |
SC-88Pro | △ | △ | ◎ | ◎ | ◎ | ○*1 | ○ |
SC-8850 | △ | △ | ◎ | ◎ | ◎ | ◎ | ○ |
XG | △ | △ | ○ | ○ | ○ | ○ | ◎ |
GM | △ | △ | ○ | ○ | ○ | ○ | ○ |
◎ | 細かい点を除いて問題なし。 |
---|---|
○ | まぁまぁ、悲惨にならずに済む。 |
△ | 場合によっては悲惨な状況に |
× | 基本的に駄目 |
DDEとはDynamic Data Exchangeの略称で、Windowsにおけるプロセス間通信機能の名称です。
DDEを使うと異なるアプリケーション間でデータを連携したり、コントロールしたりすることが出来ます。TMIDIでは、演奏を開始させたり、停止させたりすることが出来ます。
ここでは、サービスの要求側をクライアント、サービスを供給する側をサーバと呼びます。
TMIDIのDDEサーバはXTYP_CONNECT,XTYP_EXECUTE,XTYP_REQUEST,XTYP_DISCONNECTトランザクションをサポートしています。サービス名を "TMIDI" トピック名を "TMIDI" にして接続してください。また、他のアプリケーションからの操作をロックすることができます(排他制御)
以下はテーブルを使用しています。
コマンド名 | 機能 |
---|---|
lock | ユーザーによるボタンなどの操作を一部ロックします。また、接続している他のクライアントの操作もロックします。同時にロックできるのは1つのクライアントまでです。 |
unlock | ロックを解除します |
openfile [ファイル名] | ファイルを開きます (WRD,TOR,MID何でも可) |
playfile [ファイル名] | ファイルを開いて演奏します。コマンドラインと同じように/Mオプションを使用できます。 |
play [番号] | リスト中の指定した番号の曲を演奏します。 |
stop | 演奏を停止します。 |
pause | 一時停止します。 |
resume | 一時停止を解除します。 |
changeWRD | WRDウィンドウに切り替えます。 |
changeLIST | LISTウィンドウに切り替えます。 |
changeDOC | DOCウィンドウに切替 |
changeSTATUS | STATUSウィンドウに切替 |
changeMINI | MINIウィンドウに切替 |
changeFULLSCREEN | 全画面表示に切替 (動作が多少おかしくなる場合があります) |
play 4
4番目の曲を演奏します。
playfile my favorite.tor
"my favorite.tor"というリストファイルをオープンして演奏を開始します。
戻り値はすべてCP_WINANSIの文字列形式。失敗した場合はNULLを返します。
以下はテーブルを使用しています。
アイテム名 | 戻り値の意味 | 機能 |
---|---|---|
getcount | リスト内の曲数 | リストに存在する曲の数を返します。 |
gettitle [番号] | 題名 | MIDIファイルの題名を返します。 |
getlength [番号] | 長さ(ミリ秒単位) | MIDIファイルの長さを返します。 |
getfilename [番号] | 題名 | MIDIファイル名を返します。 |
getbasefolder | ディレクトリ名 | 基本フォルダを返します。 |
getlistfilename | リストファイル名 | 現在使用しているリストファイル名を返します。 |
gettime | 場所(ミリ秒単位) | 現在の演奏ポインタを返します。 |
getstatus | play/stop/pause | 現在のTMIDIの状態を返します。 |
getplayfile | 番号 | 現在演奏している曲の番号を返します。 |
Sherry WRDとは、現在のPCの性能に見合ったWRD表示機能を提供するために作られたWRDファイル仕様です。
Sherry WRDは、
以上のような特色を持っています。
Sherry WRDの仕様書は、沢渡みかげさんのSherry WRDのページで入手可能です。
Sherry WRD表示を行うためには、次のような構成が必要です。
Sherry WRDを作成するためには、Sherry WRD(拡張子 SRY)を生成するためのコンパイラプログラムが必要になります。
現在、使用可能なコンパイラには以下のような物があります。
沢渡みかげ氏が開発しているSherry WRD用コンパイラ。perlで作成されており、WRD中にperlスクリプトを書く事が出来ます。複雑なWRD作成が簡単になります。Sherry WRDのフル機能を使用するためにはこのコンパイラが必須です。
沢渡みかげさんのSherry WRDのページにて入手可能。現時点(1998/02)では開発中です。
簡単な記述でWRDを作成できるようにしてあります。4画面重ねあわせ (テキスト画面を含めると5画面)が使用できます。
ふみぃのソフトウェア工房で入手可能。
現在開発中のオリジナルシーケンサ、CherryにもSherry WRD作成機能を搭載させる予定です。
Sherry WRDで使われる画像ファイルを操作、コンバートするプログラムを公開しています。ふみぃのソフトウェア工房の、BMP Toolsのページをご覧ください。BMPファイルのパレット操作、パレット取得、PNGへの変換ツールが含まれます。
TMIDIでは、エミュレーションの対象音源の設定を自動判別することが出来ます。
自動判別は、ファイル名、添付ドキュメント、曲名、の3つから行われます。
の順に行われます。
この3つから見つからなかった場合は、環境設定にある、デフォルト対象音源の設定となります。
また、SMFを作成する場合、曲名の部分に、以下のキーワードを入れると検索が確実になります。
検索は単語ごとに行われるので、スペースなどで区切る必要があります。