読者です 読者をやめる 読者になる 読者になる

ごちゃログぴこっ

はなまるデジタル創作紀行(DTM、TAS、いろいろな技術)

MidRadio PlayerのMIDI音源をVSTiとして使う

音楽

MidRadio 6はともかく、MidRadio 7の音源でデータを作るときは確認が必須。けれどもいちいちMIDIファイルを出力してプレーヤーに演奏させるのは手間がかかりすぎる!「シーケンサでこの音源が使えればいいのに」というあなたの声にお答えします。

手順と解説

実は、MidRadioのAddinsフォルダにあるSGP2.DLL(バージョン7未満ではSGP.DLL)そのものがVSTiの一種なのです。つまりこのファイルをテーブルファイルの組とともに、VSTホストアプリケーションのVstplugins(に相当する)フォルダに放り込めば音源として使えると考えられます。しかし、実際に試してみると、SOLではうまくいくのにSynthEditではうまくいかないといった現象が確認できます。hoshuさんの解析によれば、プラグイン側でホストのベンダを見ているのだとか。YAMAHA以外の文字列なら拒絶するようになっているので、CineStarを返すSynthEditでは使えないということですね。

そういうわけで、SGP2.DLLをVSTiとして用いるには、この判定部分をつぶさなければいけません。非常に簡潔な書き換えなので、SGP2.DLL 1.0.2.22用のパッチファイル(FireFlower互換形式)を以下に示します。ヘキサエディタで編集するのが面倒な方のために、SGP2.DLL 1.0.2.22 Patcher EXEも置いておきます。比較を行っている関数の戻り値を、分岐の書き換えで強制的に定めています。

FILENAME SGP2.DLL
00002AAE: 74 EB

DLLファイルの改変が無事に済んだなら、あとはDLLとテーブルファイルの組をVSTプラグインのフォルダに入れるだけで、どのアプリケーションでもVSTiとして動作させることができます。クールな解析結果をご報告くださったhoshuさんに感謝!