MIDIで曲を作る際には、各パートにどの音色を割り当てるか、また、リズムパートではどのリズム・サウンドを用いるか、ということを決める必要があります。
そのためには、音を実際に聞きながらチェックできた方が便利なのですが、既存ソフトにはGS規格向けのものが多く、XG規格向けのものはあまりないようです。
なので、XG向けに作ってみました。
一応、GS用の定義ファイルさえ用意すれば、GS向けに使うことも可能にしてはいます。
また、YAMAHA MidRadio Playerを使えば、XG仕様のサウンドカードや外部音源を持っていなくても、XG音源を使うことができます。
XGVoiceSampleは音色チェック用、XGDrumSampleはリズム・サウンドチェック用です。
ここでは感じをつかむために、とにかく使ってみることにします。
まずは最低限、実行環境であるJREをインストールしておきます。
以下のファイルをダウンロードします。
ダウンロードしたファイルはZip形式で圧縮されています。
それを、Lhaz等で解凍する必要があります。
Zipファイルを直接扱えるシステム(WindowsMe/XP以降等)であれば、特にユーティリティを使わなくても解凍できます。
Zipファイル内には、以下のようなファイルがあります。
基本的に、JARファイルと定義ファイルを同じフォルダに入れるだけです。
XGVoiceSampleとXGDrumSample、同じフォルダに入れても、別々のフォルダに入れても構いません。
まずはXGVoiceSampleの方から試してみましょう。
WindowsにJREをインストールしていれば、JARファイルは既に関連付けられているはずなので、XGVoiceSample.jar
をダブルクリックして起動します。
一般には、 java -jar XGVoiceSample.jar
というコマンドで実行します。
起動したら、ラジオボタンで「MIDIポート」を選択し、その右のコンボボックスで「Java Sound Synthesizer」を選択します。
そうしたら、音色テーブルを適当にダブルクリックしてみましょう。
何か音が鳴ると思います。
「Java Sound Synthesizer」はXG音源ではないので、音のバリエーションは限られますが、とりあえず試すことはできます。
こんな感じで音色をチェックするアプリケーションです。
続いては、XGDrumSampleです。
XGVoiceSampleと同様に、 XGDrumSample.jar
を起動します。
やっぱり同様に、「Java Sound Synthesizer」を選択します。
そうしたら、サウンドリストの 38:1D:Snare
あたりをダブルクリックします(最初の方の音は、Java Sound Synthesizerでは鳴らなかったりするので)。
それっぽい音がすると思います。
こんな感じでドラムサウンドをチェックするアプリケーションです。
ここでは、XGVoiceSample、XGDrumSampleに共通する部分について、書いていきます。
XGVoiceSample/XGDrumSample共に「Javaアプリケーション」です。
以下の実行環境が必要になる代わりに、Javaが使える環境であれば、プラットフォーム(OS等)を問わず使うことができます。
【実行環境】 | Java (J2SE 5.0)
JRE(Java Runtime Environment)をインストールしていない場合は、http://java.com/ja/やhttp://java.sun.com/j2se/1.5.0/ja/download.html等からダウンロード・インストールする必要があります。 |
---|
WindowsにJREをインストールしてある場合、JARファイルは次のように関連付けられています。
これによって、実行可能なJARファイルをダブルクリックで起動できます。
一般には、 java -jar XG~Sample.jar
というコマンドで起動します。
XGVoiceSample/XGDrumSample共に、定義ファイルをパラメータとして与えることで、音源に合わせた使い分けができます。
定義ファイルを特に指定しなければ、XG lite仕様の定義ファイルが読み込まれます。
Windows上でパラメータを与える場合には、次のような手順でショートカットを作成します。
まずは、XG~Sample.jarをマウスの右ボタンでドラッグし、離します。
表示されるメニューから、「ショートカットをここに作成」を選択します。
できたショートカットの「プロパティ」を開き、「リンク先」の末尾に、与える定義ファイル名を追加します。
定義ファイルは「作業フォルダ」から探されるので、この辺も確認しておきましょう。
定義ファイル名を絶対パスで与えることもできます。
設定が終わったら、ショートカットの名前を適当な分かりやすい名前にしておきましょう。
java -jar XG~Sample.jar ~list.txt
とします。
定義ファイル名は、カレントディレクトリからの相対パスか、あるいは絶対パスで指定します。
XGVoiceSample/XGDrumSample共に、出力先を、MIDIポートにするかMIDIファイルにするか、「出力先」ラジオボタンから選ぶことができます。
MIDIポートは、システムで定義されているものと、Javaの実行環境が用意しているものから選べます。
参考までに、現在、作者の環境では次のように表示されます。
MIDIファイルに出力することもできます。
出力するファイルは、「MIDIファイル」欄で指定します。
「選択」ボタンから、ファイル選択ダイアログでファイルを選ぶこともできます。
定義ファイル中で定義すれば、それが最初に表示されます。
出力されるファイルは、初期状態では「システムのテンポラリディレクトリのxgv.mid(XGVoiceSampleの場合)あるいはxgd.mid(XGDrumSampleの場合)」になります。
出力先を「MIDIファイル」にした場合、出力したMIDIファイルを演奏するためのプレーヤーを指定することができます。
「プレーヤー」チェックボックスをチェックして「出力」すれば、プレーヤーが起動されます。
プレーヤーには、出力されたMIDIファイルのパスがパラメータとして与えられます。
「選択」ボタンから、ファイル選択ダイアログでプレーヤーを選ぶこともできます。
定義ファイル中で定義すれば、起動時にそれが表示されます。
標準の定義ファイルである xgvlist.txt
と xgdlist.txt
では、プレーヤーとしてMidRadio Playerが指定されています(ただし、Windows版において通常インストールされるパスを想定した設定になっています)。
MidRadio Playerは、YAMAHAの提供するプレーヤーです。
XG仕様のソフトシンセを内蔵しているため、サウンドカードや外部音源等のXG音源を持っていなくても、XG音源を使うことができます。
ダウンロードは、以下のページから行います。
「MUSIC e CLUB」は、YAMAHAが提供するWeb上のサービスです。
各バージョンのダウンロードページは次のようになります(2008.01.18現在)。
なぜWindows版の6と7を併記したのかと言えば、7になって内蔵ソフトシンセの音が大きく変わったからです。
6と7の使い分けについては、「MidRadioPlayer6/7の共存」を参照してください。
Mac版の内蔵ソフトシンセについては、Macを持ってないので未確認です。
インストールは普通に、exeを実行すればインストーラが起動します。
内蔵ソフトシンセを使うには、 [オプション]-[MIDI出力先の選択] メニューから、「内蔵ソフトシンセサイザーを使う」を選択します(初期状態)。
XGVoiceSample/XGDrumSampleには関係ありませんが、参考までに、このMidRadio Playerにはカラオケ機能もついていて、XF形式のMIDIファイルやストリーミングを利用すると、カラオケメッセージが表示されます。
ここでは、MIDIに関する一般的な設定について書きます。
MIDIにおける音量は、主にボリュームとベロシティで決まります(他にエクスプレッションとかもありますが、ここでは扱いません)。
ボリュームは、主に、曲を通しての、そのパート全体の音量を決めます。
キーボードにボリュームつまみがついていて、それを回して音量を調節する…というイメージです。
0から127の値を取り、初期値は100としています。
ベロシティは、「速さ」の意味になります(物理で速さをvと置くのは、velocityから)。
ここで言う「速さ」とは、「キーボードを叩く速さ」であり、速く押されればそれは強く押されているということで、より大きい音がなる、ということになります。
MIDIでは、一音一音にこの「ベロシティ」が付けられ、音符一つ一つに対する音の大きさを設定するのに使われます。
ベロシティも、0から127の値を取り、初期値は95としています。
音長は0から384で、初期値は48としています。
48は、♩=120での四分音符に相当します(つまり0.5秒)。
全音符なら192です。
以下のように2つのエフェクトを設定することができ、指定/無指定のラジオボタンで、使うか使わないかを切り替えることができます。
全ての音源で使えるとは限りません(例えば、Microsoft GS Wavetable SW SynthやJava Sound Synthesizerでは使えないようです)。
リバーブとは、残響音のことです。
0から127の間で設定でき、初期値は27としています。
コーラスというのは…ランダムに遅らせた音(ディレイ)を重ねることで、複数の音が重なっているかのような効果を出すもの…のようです。
0から127の間で設定でき、初期値は0としています。
XGVoiceSample/XGDrumSampleともに、出力は「出力ボタン」、「ALT+A」、「ダブルクリック」、「スペースキー」のいずれかで行えます。
「出力」ボタンをクリックすれば、出力できます。
「出力」ボタンには「ALT+A」というキーボードショートカットを割り当てているので、「ALT+A」でも出力できます。
XGVoiceSampleなら音色テーブルの希望の音色を、XGDrumSampleならサウンドリストの希望のドラムサウンドを、ダブルクリックします。
これが、一番手っ取り早い方法でしょう。
XGVoiceSampleなら音色テーブルの希望の音色を、XGDrumSampleならサウンドリストの希望のドラムサウンドをクリックした上で、スペースキーを押しても出力できます。
ここでは、音色定義ファイル/ドラム定義ファイルの書き方について、共通する項目を書きます。
既存の定義ファイルを使うだけなら、特に必要のない情報です。
基本的に定義ファイルは、行単位で解釈され、各行の機能は、先頭の一文字(コマンド文字;大文字・小文字を区別)で判断されます。
なので、余計な空白は入れないようにしましょう。
全くの空行は可能です。
セミコロン(;
)で始まる行は、コメントになります。特に意味は持ちません。
; 適当にメモ書きなどを入れます。
MIDI音源の初期化方法とドラムキットの選択方法(XGDrumSample項目で扱います)は、以下のコマンド文字で決まります。
複数書かれた場合は、最後に書かれたものが有効になります。
X
S
M
L
N
; 例:GS用の定義ファイルの場合 S
出力するMIDIチャンネルは、コマンド文字 C
にチャンネル番号を続けて指定します。
設定できる範囲は1~16、初期値は、XGVoiceSampleではチャンネル1、XGDrumSampleではチャンネル10です。
;チャンネル12に出力する場合 C12
例えば、Roland CM-64では、LA音源はチャンネル2~9、PCM音源はチャンネル11~16なので、チャンネルを適切に設定する必要があります。
出力ファイルのパスは、コマンド文字 F
にパスを続けて指定します。
相対パスの場合は、カレントディレクトリが基準になります。
初期値は、テンポラリディレクトリの xgv.mid
(XGVoiceSample)/ xgd.mid
(XGDrumSample)になります。
FD:\test.mid
プレーヤーのパスは、コマンド文字 P
にパスを続けて指定します。
PC:\Program Files\Windows Media Player\wmplayer.exe
ここでは、XGVoiceSample固有の事項について書きます。
XGVoiceSampleは、以下のファイルから構成されます。
XGVoiceSample.jar
xgvlist.txt
mr7vlist.txt
gm1vlist.txt
xgv-readme.txt
xgvlist.txt
以外の定義ファイルを使う時は、「起動」項目にあるように指定します。
XGDrumSampleと共通する部分については、XGVoiceSample/XGDrumSample共通事項を参照してください。
音色は、音色選択テーブルで選択します。
プログラム番号順を選択すれば、プログラムチェンジ番号(Pch#列)で並べ替えされます。
バンク番号順を選択すれば、バンク番号(BankMSB列とBankLSB列)で並べ替えられます。
音色定義ファイルで音色グループが定義されている場合、Group列にグループ名が表示されます。
ただし、MIDIの初期化モードがXGモードで、かつバンク番号MSBが0でない場合、グループ名は [SFX Voice] となります。
XG音源では、バンク番号MSBが0でない音色は、効果音用の音色になります。
3つの音を続けて鳴らすことができます。
それぞれについて、オクターブ、音名、ベロシティ、音長を設定します。
オクターブの範囲は-2~8、初期値は3になります。
このオクターブの範囲は、Z-MUSICのMMLにおける-1~9に相当します。
音名は、C、C#、D、D#、E、F、F#、G、G#、A、A#、Bから選択します。初期値はCです。
それぞれ(ハ長調の)ド、ドのシャープ、レ…に相当します。
ただし、オクターブ8においては、Gまでです。
つまり、指定できる音の高さは、-2C~8Gということになります。
音長は、その音の発音と次の音の発音の間隔、3つ目の音なら発音から演奏終了までの時間です。初期値は48(四分音符相当)です。
実際に発音される長さ — 発音長 — は、和音モードでなければ、音長の8割になります。
例えば、音長が48なら、発音長は48×0.8=38(小数切り捨て)になり、残りの10は余韻だけになります。
和音チェックをチェックすると、和音モードになります。
和音モードの場合、発音のタイミングは非和音モードと同じですが、発音の終了は、最後に3つまとめて為されます。
最初の音の発音長は、3つの音長の和になります。
最初の2つの音長を0にすれば、3つの音が同時に鳴ります。
ここでは、音色定義ファイル固有の仕様について書きます。
ドラム定義ファイルと共通する部分については、「定義ファイル」項目を参照してください。
音色グループ定義は、コマンド文字 G
に、開始プログラムチェンジ番号とグループ名を続けます。
定義された音色グループは、開始プログラムチェンジ番号から、次に音色グループが定義されているプログラムチェンジ番号の一つ前まで有効になります。
例えば、
G80,Group 2 G6,Group 1
と定義すれば、プログラムチェンジ番号1~5はグループ名なし、6~79はGroup 1、80~128はGroup 2となります。
音色定義は、コマンド文字をもたず、 バンク番号MSB,バンク番号LSB,プログラムチェンジ番号,オプション記号,音色名
という形式で記述します。ただし、オプション記号は未実装です。
各値の範囲は次のようになります。
例えば、次のように記述します。
0,8,45,,Slow Tremolo Strings 0,8,49,,Slow Strings
バンクセレクトに対応しない音源用の定義の場合は、バンク番号MSB、LSBには共に0を指定して下さい。
ここでは、XGDrumSample固有の事項について書きます。
XGDrumSampleは、以下のファイルから構成されます。
XGDrumSample.jar
xgdlist.txt
mr7dlist.txt
gm1dlist.txt
xgd-readme.txt
xgdlist.txt
以外の定義ファイルを使う時は、「起動」項目にあるように指定します。
XGVoiceSampleと共通する部分については、XGVoiceSample/XGDrumSample共通事項を参照してください。
ドラムキットは、ドラムキット選択テーブルで選択します。
ドラムキットというのは、ドラム音を一まとめにしたものです。
楽器のキーボードには、各キーに音階ではなくリズム用のサウンドを割り当てるモードがあります。そうやって各キーに割り当てられたサウンド1セットがドラムキット、というイメージです。
4つの音を続けて鳴らすことができます。
それぞれについて、サウンド、ベロシティ、音長を設定します。
選択されているドラムキット内のドラムサウンドを、サウンドリストで選択します。
このサウンドリストをダブルクリックすることで、出力することもできます。
サウンドリスト内の各行は、コロン( :
)で次の3つの項目に分かれています。
クリアボタンを押すことで、選択を解除できます。
音長は、その音の発音と次の音の発音の間隔、3つ目の音なら発音から演奏終了までの時間です。初期値は48(四分音符相当)です。
発音長は、XGVoiceSampleの和音モード相当になり、最後にまとめてノートOFFされます。
ここでは、ドラム定義ファイル固有の仕様について書きます。
音色定義ファイルと共通する部分については、「定義ファイル」項目を参照してください。
ドラムキット定義は、コマンド文字 K
に、バンク番号MSB、バンク番号LSB、プログラムチェンジ番号、キット名を続けます。
例えば、
K127,0,9,Room Kit
などと定義します。
ドラムパートをどう設定するかは、各MIDI初期化モードによって異なります。
バンクセレクトやプログラムチェンジを行わないモードであっても、ドラムキット定義において、バンク番号やプログラムチェンジ番号を省略することはできません。
たとえ使わなくても、適当な値(バンク番号MSB・LSBなら0、プログラムチェンジ番号なら1等)を記述してください。
サウンド定義は、コマンド文字をもたず、 バンク番号MSB,バンク番号LSB,プログラムチェンジ番号,ノート番号あるいはノート名,オプション記号,サウンド名
という形式で記述します。ただし、オプション記号は未実装です。
各値の範囲は次のようになります。
例えば、次のように記述します。
127,0,1,40,,Snare Tight 127,0,1,1F,,Floor Tom L
一般にはGS音源の方がメジャーだと思いますが、これを機にXG音源も試してもらえたらと思います。
MidRadio Playerの内蔵ソフトシンセはXG lite仕様ということになっていますが、「XG仕様書V1.35」と比べると、幾らかの相違点があるようです。
ここでは、その相違点について、分かっている範囲で書きます。
XG lite仕様に入っていないけど、 MidRadio Playerで使えるもの |
64,0,38,,Feed 64,0,56,,Maou |
XG lite仕様に入っているけど、 MidRadio Playerで使えないもの |
0,67,88,,Mogul 0,68,88,,Distance 0,85,6,,Tinker DX Plus 0,85,39,,SweePWM |
ドラムサウンドについては、特に足りないものはないようですが、詳細は分かりません。
ついでに、MidRadio Player7になって追加された音色も挙げておきます。
0,112,3,,MidiGrand 0,114,5,,GalaxyEP 0,32,6,,Chorus EP2 0,112,6,,DX Modern 0,113,6,,HyperTines 0,112,17,,JazzOrgan1 0,116,17,,BrightDraw 0,112,19,,RockOrgan1 0,117,19,,Cool! RotorOrgan 0,118,19,,Cool! Organ 0,113,20,,ChapelOrgan1 0,113,22,,TuttiAccordion 0,112,23,,Harmonica 0,112,28,,CleanGuitar 0,117,28,,60sClean 0,112,34,,MellowFinger 0,112,39,,ResoBass 0,40,40,,ModulrSyBass 0,112,49,,Strings 0,112,50,,ChamberStrings 0,115,57,,Sweet! Trumpet 0,112,58,,SoloTrombone 0,113,58,,TbnSection 0,112,61,,FrenchHorns 0,113,63,,80sBrass 0,113,65,,Sweet! SopranoSax 0,117,67,,Sweet! TenorSax 0,114,74,,Sweet! Flute 0,113,76,,Sweet! PanFlute 0,115,82,,Analogon 0,119,82,,Fargo 0,112,89,,Fantasia
ドラムキットについては、プログラムチェンジ番号113の「Dance Kit」が追加されています。
これは、恐らくはXG仕様書V1.35で定義されているプログラムチェンジ番号28の「Dance Kit」相当だと思われます。
mr7dlist.txt
では、この仮定に基づいてDance Kitを定義しています。
一般にXG音源は、RolandのシステムエクスクルーシブメッセージGS Resetを受信すると、GS互換モードになります。
正確には、「TG-300Bモード」とかいう名称で、YAMAHAはGS互換とは言ってないようですが、実質的には「GS互換モード」です。
このGS互換モードでは、音色やドラムの配列がSC-88相当になります。
並びがSC-88相当になるだけで、鳴る音自体はXGの音です。忠実に再現してくれるわけではありません。
XG lite音源もGS音源も、ドラムパートに設定できるのは、16チャンネルの内2つだけです。
XG音源のXGモードであれば、1チャンネルから16チャンネルまでのチャンネルを、バンクセレクトとプログラムチェンジでドラムパートにできます。
しかし、XG音源のGS互換モードの場合、RolandシステムエクスクルーシブのUSE FOR RHYTHM PARTとプログラムチェンジでドラムパートに設定できるのは、10チャンネルから16チャンネルの範囲に限られます。
また、MidRadio Player6の内蔵XG音源では、ドラムセットの中身はGS互換にならなかったり、DS-XGでは鳴ってもMidRadio Player7の内蔵XG音源では鳴らないGS互換のドラムサウンドがあったり、と、ドラムパートの互換性にはバラツキがあるようです。
Windows版MidRaio Playerの内蔵ソフトシンセは、6と7の間で音が大きく変わりました。
ここでは、6の内蔵ソフトシンセと7の内蔵ソフトシンセを使い分ける方法について書きます。
以下の二通りの方法があります。
まず、6と7を、別のフォルダにインストールします。
優先順位は、後からインストールした方が優先されるようになるので、優先的に使いたい方を後からインストールします。
MidRadio Playerは、一度に起動するのは一つだけなので、既に起動しているMidRadio Playerがある場合は、それが使われます。
つまり、6で聴きたい時は6を、7で聴きたい時は7を、予め起動しておけば、それで使い分けて聴くことができます。
使い分けられるように、6,7それぞれのショートカットを、デスクトップ、スタートメニュー、クイック起動ツールバー、「送る」メニュー等、自分が使いやすいところに入れておくといいでしょう。
設定は、別々にインストールしても共有されます。
片方で設定を変えれば、もう片方を使う時にもその変更が有効になります。
なので、設定が共有されるので、片方(後からインストールした方)をコントロールパネルからアンインストールすれば、もう片方(先にインストールした方)は手作業で削除することになるかもしれません(未確認)。
6の内蔵ソフトシンセを実装しているファイルは、インストールしたフォルダの Addins
フォルダにある
SGP.DLL
sgpbinp1.tbl
sgpdatp0.tbl
の3つのファイルになります。
7の内蔵ソフトシンセを実装しているファイルは、同じくインストールしたフォルダの Addins
フォルダにある
SGP2.DLL
になります。
MIDIを内蔵ソフトシンセで再生しようとした場合、MidRadio Player7は、まずは SGP2.DLL
を探します。
見つかれば、MidRadio Player7の音でMIDIを鳴らします。
しかし、 SGP2.DLL
が見つからない場合は、代わりに SGP.DLL
を探します。
そして SGP.DLL
が見つかれば、MidRadio Player6以前の音でMIDIを鳴らします。
つまり、 SGP2.DLL
のあり/なしで、内臓ソフトシンセの切り替えが可能、ということです。
この切替をするためのバッチファイルを作ってみました。
以下の内容をメモ帳などで入力(コピペで可)、例えば MidRadio6⇔7.bat として保存します(ファイル名は何でもいいですが、拡張子は.batあるいは.cmdとします)。
ただし、set MidRadioHome=
以降の部分は、実際にMidRadio Player7をインストールしたフォルダに合わせてください。
echo off rem rem MidRadioPlayer6と7のソフトシンセを入れ替えます。 rem rem 予め、MidRadioPlayer7のAddinsフォルダに、 rem MidRadioPlayer6のAddinsフォルダから rem SGP.DLL、sgpbinp1.tbl、sgpdatp0.tbl をコピーしておきます。 rem ここでは、実際にMidRadioPlayer7をインストールしたフォルダを設定します。 set MidRadioHome=C:\Program Files\YAMAHA\MidRadio Player rem 6から必要なファイルがコピーされているかを調べます。 for %%f in (SGP.DLL sgpbinp1.tbl sgpdatp0.tbl) do ( if not exist "%MidRadioHome%\Addins\%%f" ( echo %MidRadioHome%\Addinsフォルダに %%f がありません。 goto :end ) ) rem SGP2.DLLが存在すれば、7→6 if exist "%MidRadioHome%\Addins\SGP2.DLL" ( ren "%MidRadioHome%\Addins\SGP2.DLL" _SGP2.DLL if errorlevel 1 goto :error echo MidRadioPlayerの内蔵ソフトシンセを、7から6にしました。 goto :end rem _SGP2.DLLが存在すれば、6→7 ) else if exist "%MidRadioHome%\Addins\_SGP2.DLL" ( ren "%MidRadioHome%\Addins\_SGP2.DLL" SGP2.DLL if errorlevel 1 goto :error echo MidRadioPlayerの内蔵ソフトシンセを、6から7にしました。 goto :end ) else ( echo %MidRadioHome%\Addins\ に、SGP2.DLLも_SGP2.DLLも見つかりません。 goto :end ) :error echo "エラーです。" goto :end :end pause
Windows9xの「MS-DOSプロンプト」のバッチファイルは、Windows2000の「コマンドプロンプト」のものより自由度が低く、括弧等が使えないので、次のようになります。
これをWindows2000等で動かすことも可能です。
これもやはり、set MidRadioHome=
以降の部分は、実際にMidRadio Player7をインストールしたフォルダに合わせてください。
ただし、Windows9xでは、MidRadio Playerの起動中に切り替えることはできません。
echo off rem rem MidRadioPlayer6と7のソフトシンセを入れ替えます。 rem rem 予め、MidRadioPlayer7のAddinsフォルダに、 rem MidRadioPlayer6のAddinsフォルダから rem SGP.DLL、sgpbinp1.tbl、sgpdatp0.tbl をコピーしておきます。 rem ここでは、実際にMidRadioPlayer7をインストールしたフォルダを設定します。 set MidRadioHome=C:\Program Files\YAMAHA\MidRadio Player rem 6から必要なファイルがコピーされているかを調べます。 if not exist "%MidRadioHome%\Addins\SGP.DLL" goto :SGP-error if not exist "%MidRadioHome%\Addins\sgpbinp1.tbl" goto :sgpbinp1-error if not exist "%MidRadioHome%\Addins\sgpdatp0.tbl" goto :sgpdatp0-error rem SGP2.DLLが存在すれば、7→6 if exist "%MidRadioHome%\Addins\SGP2.DLL" goto :7to6 rem _SGP2.DLLが存在すれば、6→7 if exist "%MidRadioHome%\Addins\_SGP2.DLL" goto :6to7 rem どちらもない場合 echo %MidRadioHome%\Addins\ に、SGP2.DLLも_SGP2.DLLも見つかりません。 goto :end :7to6 ren "%MidRadioHome%\Addins\SGP2.DLL" _SGP2.DLL if errorlevel 1 goto :error echo MidRadioPlayerの内蔵ソフトシンセを、7から6にしました。 goto :end :6to7 ren "%MidRadioHome%\Addins\_SGP2.DLL" SGP2.DLL if errorlevel 1 goto :error echo MidRadioPlayerの内蔵ソフトシンセを、6から7にしました。 goto :end :SGP-error echo %MidRadioHome%\Addinsフォルダに SGP.DLL がありません。 goto :end :sgpbinp1-error echo %MidRadioHome%\Addinsフォルダに sgpbinp1.tbl がありません。 goto :end :sgpdatp0-error echo %MidRadioHome%\Addinsフォルダに sgpdatp0.tbl がありません。 goto :end :error echo "エラーです。" goto :end :end pause
切替を行う準備として、6の Addins
フォルダから、 SGP.DLL
、sgpbinp1.tbl
、sgpdatp0.tbl
を7の Addins
フォルダにコピーしておきます。
もし、6に上書きインストールしたのであれば、既に入っているかもしれません。
上のバッチファイルをダブルクリックで実行すると、以下のように動作します。
SGP.DLL
、sgpbinp1.tbl
、sgpdatp0.tbl
があるか確認。無ければメッセージ表示して終了。SGP2.DLL
について
SGP2.DLL
があれば、今は7の内蔵ソフトシンセなので、ファイル名を _SGP2.DLL
に変えて、6の内蔵ソフトシンセに。_SGP2.DLL
があれば、逆に SGP2.DLL
に変えて、6から7に。つまり、実行する度に、MidRadio Player7の内蔵ソフトシンセの音が、6と7の間で切り替わります。
どちらになったかは、メッセージを表示した状態で止まるので、それで確認してください。
何かキーを押せば、終了します。
Windows9xでは、バッチファイルのプロパティで「終了時にウィンドウを閉じる」にしておいた方が、ウィンドウを閉じる手間が省けます。
ソースファイルは、以下のファイルにまとめてあります。
スクリーンサイズが1024×600のNetbookで使おうとしたら、XGVoiceSampleは画面からはみ出て使えませんでした。
なので、より小さい画面でも使えるようにした省スペース版のXGVoiceSampleも用意しました。
変わったのは表示レイアウトだけで、中身はXGVoiceSample.jarと同じです。
XGDrumSampleも画面からはみ出るのですが、それなりに使えるので、特に対応はしません。
javadoc
で出力したドキュメント参考までに、 javadoc
で出力したドキュメント(プログラム仕様)も置いておきます。