サウンド 《 ソフトウェア彷徨の神殿

XGVoiceSample/XGDrumSample

Ver.2.00/2005.06.11-2006.12.13 / Ver.2.00/2005.07.04-2006.12.13
2005.06.11-2009.02.19
  1. はじめに
  2. とりあえず使ってみる
    1. 用意するもの
    2. ダウンロード
    3. インストール
    4. 音を鳴らす-XGVoiceSample
      1. とりあえず起動
      2. 出力先をJava Sound Synthesizerに
      3. 音色テーブルをダブルクリック
    5. 音を鳴らす-XGDrumSample
      1. とりあえず起動
      2. 出力先をJava Sound Synthesizerに
      3. サウンドリストをダブルクリック
  3. XGVoiceSample/XGDrumSample共通事項
    1. 実行環境
    2. 起動
      1. Windowsにおける起動
      2. 一般的な起動
      3. Windowsにおけるショートカットでの定義ファイルの指定
      4. コマンドでの定義ファイルの指定
    3. MIDIの出力先
      1. MIDIポート
      2. MIDIファイル
      3. プレーヤー
      4. MidRadio Player(YAMAHA)
    4. MIDIの設定
      1. 音量:ボリュームとベロシティ
      2. 音長
      3. エフェクト
    5. 出力
    6. 定義ファイル
      1. 定義ファイルの基本
      2. コメント
      3. MIDIの初期化モード
      4. 出力チャンネル
      5. 出力ファイル
      6. プレーヤー
  4. XGVoiceSample
    1. 構成
    2. 使い方
      1. 音色の選択
      2. シーケンス
      3. 和音
    3. 音色定義ファイル
      1. 音色グループ
      2. 音色定義
  5. XGDrumSample
    1. 構成
    2. 使い方
      1. ドラムキットの選択
      2. シーケンス
    3. ドラム定義ファイル
      1. ドラムキット
      2. サウンド定義
  6. 終わりに

1. はじめに

MIDIで曲を作る際には、各パートにどの音色を割り当てるか、また、リズムパートではどのリズム・サウンドを用いるか、ということを決める必要があります。

そのためには、音を実際に聞きながらチェックできた方が便利なのですが、既存ソフトにはGS規格向けのものが多く、XG規格向けのものはあまりないようです。

なので、XG向けに作ってみました。

一応、GS用の定義ファイルさえ用意すれば、GS向けに使うことも可能にしてはいます。

また、YAMAHA MidRadio Playerを使えば、XG仕様のサウンドカードや外部音源を持っていなくても、XG音源を使うことができます。

XGVoiceSample音色チェック用、XGDrumSampleリズム・サウンドチェック用です。

2. とりあえず使ってみる

ここでは感じをつかむために、とにかく使ってみることにします。

2.1. 用意するもの

まずは最低限、実行環境であるJREをインストールしておきます。

2.2. ダウンロード

以下のファイルをダウンロードします。

2.3. インストール

ダウンロードしたファイルの形式

ダウンロードしたファイルはZip形式で圧縮されています。

それを、Lhaz等で解凍する必要があります。

Zipファイルを直接扱えるシステム(WindowsMe/XP以降等)であれば、特にユーティリティを使わなくても解凍できます。

ファイル構成

Zipファイル内には、以下のようなファイルがあります。

インストール

基本的に、JARファイルと定義ファイルを同じフォルダに入れるだけです。

XGVoiceSampleとXGDrumSample、同じフォルダに入れても、別々のフォルダに入れても構いません。

2.4. 音を鳴らす-XGVoiceSample

まずはXGVoiceSampleの方から試してみましょう。

2.4.1. とりあえず起動

Windowsの場合

WindowsにJREをインストールしていれば、JARファイルは既に関連付けられているはずなので、XGVoiceSample.jar をダブルクリックして起動します。

一般

一般には、 java -jar XGVoiceSample.jar というコマンドで実行します。

2.4.2. 出力先をJava Sound Synthesizerに

起動したら、ラジオボタンで「MIDIポート」を選択し、その右のコンボボックスで「Java Sound Synthesizer」を選択します。

2.4.3. 音色テーブルをダブルクリック

そうしたら、音色テーブルを適当にダブルクリックしてみましょう。

何か音が鳴ると思います。

「Java Sound Synthesizer」はXG音源ではないので、音のバリエーションは限られますが、とりあえず試すことはできます。

こんな感じで音色をチェックするアプリケーションです。

2.5. 音を鳴らす-XGDrumSample

続いては、XGDrumSampleです。

2.5.1. とりあえず起動

XGVoiceSampleと同様に、 XGDrumSample.jar を起動します。

2.5.2. 出力先をJava Sound Synthesizerに

やっぱり同様に、「Java Sound Synthesizer」を選択します。

2.5.3. サウンドリストをダブルクリック

そうしたら、サウンドリスト38:1D:Snare あたりをダブルクリックします(最初の方の音は、Java Sound Synthesizerでは鳴らなかったりするので)。

それっぽい音がすると思います。

こんな感じでドラムサウンドをチェックするアプリケーションです。

3. XGVoiceSample/XGDrumSample共通事項

ここでは、XGVoiceSample、XGDrumSampleに共通する部分について、書いていきます。

3.1. 実行環境

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等からダウンロード・インストールする必要があります。

3.2. 起動

3.2.1. Windowsにおける起動

WindowsにJREをインストールしてある場合、JARファイルは次のように関連付けられています。

これによって、実行可能なJARファイルをダブルクリックで起動できます。

3.2.2. 一般的な起動

一般には、 java -jar XG~Sample.jar というコマンドで起動します。

3.2.3. Windowsにおけるショートカットでの定義ファイルの指定

XGVoiceSample/XGDrumSample共に、定義ファイルをパラメータとして与えることで、音源に合わせた使い分けができます。

定義ファイルを特に指定しなければ、XG lite仕様の定義ファイルが読み込まれます。

Windows上でパラメータを与える場合には、次のような手順でショートカットを作成します。

[1]. JARファイルを右ドラッグ

まずは、XG~Sample.jarをマウスの右ボタンでドラッグし、離します。

[2]. ショートカットの作成

表示されるメニューから、「ショートカットをここに作成」を選択します。

[3]. ショートカットのプロパティ

できたショートカットの「プロパティ」を開き、「リンク先」の末尾に、与える定義ファイル名を追加します。

定義ファイルは「作業フォルダ」から探されるので、この辺も確認しておきましょう。

定義ファイル名を絶対パスで与えることもできます。

設定が終わったら、ショートカットの名前を適当な分かりやすい名前にしておきましょう。

3.2.4. コマンドでの定義ファイルの指定

java -jar XG~Sample.jar ~list.txt とします。

定義ファイル名は、カレントディレクトリからの相対パスか、あるいは絶対パスで指定します。

3.3. MIDIの出力先

XGVoiceSample/XGDrumSample共に、出力先を、MIDIポートにするかMIDIファイルにするか、「出力先」ラジオボタンから選ぶことができます。

3.3.1. MIDIポート

MIDIポートは、システムで定義されているものと、Javaの実行環境が用意しているものから選べます。

参考までに、現在、作者の環境では次のように表示されます。

Micrisoft MIDI ???,YAMAHA DS-XG MPU401 (WDM), YAMAHA DS-XG Synthesizer (WDM),Microsoft GS Wavetable SW Synth,1:EDIROL UM-1 MIDI,Java Sound Synthesizer

3.3.2. MIDIファイル

MIDIファイルに出力することもできます。

出力するファイルは、「MIDIファイル」欄で指定します。

「選択」ボタンから、ファイル選択ダイアログでファイルを選ぶこともできます。

定義ファイル中で定義すれば、それが最初に表示されます。

出力されるファイルは、初期状態では「システムのテンポラリディレクトリのxgv.mid(XGVoiceSampleの場合)あるいはxgd.mid(XGDrumSampleの場合)」になります。

3.3.3. プレーヤー

出力先を「MIDIファイル」にした場合、出力したMIDIファイルを演奏するためのプレーヤーを指定することができます。

「プレーヤー」チェックボックスをチェックして「出力」すれば、プレーヤーが起動されます。

プレーヤーには、出力されたMIDIファイルのパスがパラメータとして与えられます。

「選択」ボタンから、ファイル選択ダイアログでプレーヤーを選ぶこともできます。

定義ファイル中で定義すれば、起動時にそれが表示されます。

標準の定義ファイルである xgvlist.txtxgdlist.txt では、プレーヤーとしてMidRadio Playerが指定されています(ただし、Windows版において通常インストールされるパスを想定した設定になっています)。

3.3.4. MidRadio Player(YAMAHA)

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ファイルやストリーミングを利用すると、カラオケメッセージが表示されます。

3.4. MIDIの設定

ここでは、MIDIに関する一般的な設定について書きます。

3.4.1. 音量:ボリュームとベロシティ

MIDIにおける音量は、主にボリュームベロシティで決まります(他にエクスプレッションとかもありますが、ここでは扱いません)。

ボリューム

ボリュームは、主に、曲を通しての、そのパート全体の音量を決めます。

キーボードにボリュームつまみがついていて、それを回して音量を調節する…というイメージです。

0から127の値を取り、初期値は100としています。

ベロシティ

ベロシティは、「速さ」の意味になります(物理で速さをvと置くのは、velocityから)。


ここで言う「速さ」とは、「キーボードを叩く速さ」であり、速く押されればそれは強く押されているということで、より大きい音がなる、ということになります。

MIDIでは、一音一音にこの「ベロシティ」が付けられ、音符一つ一つに対する音の大きさを設定するのに使われます。

ベロシティも、0から127の値を取り、初期値は95としています。

3.4.2. 音長

音長は0から384で、初期値は48としています。

48は、♩=120での四分音符に相当します(つまり0.5秒)。

全音符なら192です。

3.4.3. エフェクト

以下のように2つのエフェクトを設定することができ、指定/無指定のラジオボタンで、使うか使わないかを切り替えることができます。

全ての音源で使えるとは限りません(例えば、Microsoft GS Wavetable SW SynthやJava Sound Synthesizerでは使えないようです)。

リバーブ

リバーブとは、残響音のことです。

0から127の間で設定でき、初期値は27としています。

コーラス

コーラスというのは…ランダムに遅らせた音(ディレイ)を重ねることで、複数の音が重なっているかのような効果を出すもの…のようです。

0から127の間で設定でき、初期値は0としています。

3.5. 出力

XGVoiceSample/XGDrumSampleともに、出力「出力ボタン」、「ALT+A」、「ダブルクリック」、「スペースキー」のいずれかで行えます。

出力ボタン

「出力」ボタンをクリックすれば、出力できます。

ALT+A

「出力」ボタンには「ALT+A」というキーボードショートカットを割り当てているので、「ALT+A」でも出力できます。

ダブルクリック

XGVoiceSampleなら音色テーブルの希望の音色を、XGDrumSampleならサウンドリストの希望のドラムサウンドを、ダブルクリックします。

これが、一番手っ取り早い方法でしょう。

スペースキー

XGVoiceSampleなら音色テーブルの希望の音色を、XGDrumSampleならサウンドリストの希望のドラムサウンドをクリックした上で、スペースキーを押しても出力できます。

3.6. 定義ファイル

ここでは、音色定義ファイル/ドラム定義ファイルの書き方について、共通する項目を書きます。

既存の定義ファイルを使うだけなら、特に必要のない情報です。

3.6.1. 定義ファイルの基本

基本的に定義ファイルは、行単位で解釈され、各行の機能は、先頭の一文字(コマンド文字;大文字・小文字を区別)で判断されます。

なので、余計な空白は入れないようにしましょう。

全くの空行は可能です。

3.6.2. コメント

セミコロン(;)で始まる行は、コメントになります。特に意味は持ちません。

; 適当にメモ書きなどを入れます。

3.6.3. MIDIの初期化モード

MIDI音源の初期化方法とドラムキットの選択方法(XGDrumSample項目で扱います)は、以下のコマンド文字で決まります。

複数書かれた場合は、最後に書かれたものが有効になります。

X
XG音源(デフォルト)。
YAMAHAシステムエクスクルーシブメッセージのXG System Onで初期化します。
S
GS音源。
RolandシステムエクスクルーシブメッセージのGS Resetで初期化します。
M
GM1音源。
GM System Onで初期化します。
L
LA音源。
RolandシステムエクスクルーシブメッセージのAll Parameters Resetで初期化します。
N
特に初期化しません。
; 例:GS用の定義ファイルの場合
S

3.6.4. 出力チャンネル

出力するMIDIチャンネルは、コマンド文字 C にチャンネル番号を続けて指定します。

設定できる範囲は1~16、初期値は、XGVoiceSampleではチャンネル1、XGDrumSampleではチャンネル10です。

;チャンネル12に出力する場合
C12

例えば、Roland CM-64では、LA音源はチャンネル2~9、PCM音源はチャンネル11~16なので、チャンネルを適切に設定する必要があります。

3.6.5. 出力ファイル

出力ファイルのパスは、コマンド文字 F にパスを続けて指定します。

相対パスの場合は、カレントディレクトリが基準になります。

初期値は、テンポラリディレクトリの xgv.mid (XGVoiceSample)/ xgd.mid (XGDrumSample)になります。

FD:\test.mid

3.6.6. プレーヤー

プレーヤーのパスは、コマンド文字 P にパスを続けて指定します。

PC:\Program Files\Windows Media Player\wmplayer.exe

4. XGVoiceSample

ここでは、XGVoiceSample固有の事項について書きます。

4.1. 構成

XGVoiceSampleは、以下のファイルから構成されます。

XGVoiceSample.jar
実行可能なJARファイルです。
xgvlist.txt
標準の音色定義ファイル。MidRadio Player 6の内蔵XG音源を想定しています。
mr7vlist.txt
MidRaio Player 7の内蔵XG音源を想定しています。6との相違点については、このファイルの末尾の方を参照してください。
gm1vlist.txt
GM1仕様を想定しています。
xgv-readme.txt
簡易ドキュメントです。

xgvlist.txt 以外の定義ファイルを使う時は、「起動」項目にあるように指定します。

4.2. 使い方

XGDrumSampleと共通する部分については、XGVoiceSample/XGDrumSample共通事項を参照してください。

4.2.1. 音色の選択

音色は、音色選択テーブルで選択します。

並べ替え

プログラム番号順を選択すれば、プログラムチェンジ番号(Pch#列)で並べ替えされます。

バンク番号順を選択すれば、バンク番号(BankMSB列とBankLSB列)で並べ替えられます。

音色グループ

音色定義ファイルで音色グループが定義されている場合、Group列にグループ名が表示されます。

ただし、MIDIの初期化モードがXGモードで、かつバンク番号MSBが0でない場合、グループ名は [SFX Voice] となります。

XG音源では、バンク番号MSBが0でない音色は、効果音用の音色になります。

4.2.2. シーケンス

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は余韻だけになります。

4.2.3. 和音

和音チェックをチェックすると、和音モードになります。

和音モードの場合、発音のタイミングは非和音モードと同じですが、発音の終了は、最後に3つまとめて為されます。

最初の音の発音長は、3つの音長の和になります。

最初の2つの音長を0にすれば、3つの音が同時に鳴ります。

4.3. 音色定義ファイル

ここでは、音色定義ファイル固有の仕様について書きます。

ドラム定義ファイルと共通する部分については、「定義ファイル」項目を参照してください。

4.3.1. 音色グループ

音色グループ定義は、コマンド文字 G に、開始プログラムチェンジ番号グループ名を続けます。

定義された音色グループは、開始プログラムチェンジ番号から、次に音色グループが定義されているプログラムチェンジ番号の一つ前まで有効になります。

例えば、

G80,Group 2
G6,Group 1

と定義すれば、プログラムチェンジ番号1~5はグループ名なし、6~79はGroup 1、80~128はGroup 2となります。

4.3.2. 音色定義

音色定義は、コマンド文字をもたず、 バンク番号MSB,バンク番号LSB,プログラムチェンジ番号,オプション記号,音色名 という形式で記述します。ただし、オプション記号は未実装です。

各値の範囲は次のようになります。

例えば、次のように記述します。

0,8,45,,Slow Tremolo Strings
0,8,49,,Slow Strings

バンクセレクトに対応しない音源用の定義の場合は、バンク番号MSB、LSBには共に0を指定して下さい。

5. XGDrumSample

ここでは、XGDrumSample固有の事項について書きます。

5.1. 構成

XGDrumSampleは、以下のファイルから構成されます。

XGDrumSample.jar
実行可能なJARファイルです。
xgdlist.txt
標準のドラム定義ファイル。MidRadio Player 6の内蔵XG音源を想定しています。
mr7dlist.txt
MidRaio Player 7の内蔵XG音源を想定しています。6との相違点については、このファイルの末尾の方を参照してください。
gm1dlist.txt
GM1仕様を想定しています。
xgd-readme.txt
簡易ドキュメントです。

xgdlist.txt 以外の定義ファイルを使う時は、「起動」項目にあるように指定します。

5.2. 使い方

XGVoiceSampleと共通する部分については、XGVoiceSample/XGDrumSample共通事項を参照してください。

5.2.1. ドラムキットの選択

ドラムキットは、ドラムキット選択テーブルで選択します。

ドラムキットというのは、ドラム音を一まとめにしたものです。

楽器のキーボードには、各キーに音階ではなくリズム用のサウンドを割り当てるモードがあります。そうやって各キーに割り当てられたサウンド1セットがドラムキット、というイメージです。

5.2.2. シーケンス

4つの音を続けて鳴らすことができます。

それぞれについて、サウンド、ベロシティ、音長を設定します。

サウンド

選択されているドラムキット内のドラムサウンドを、サウンドリストで選択します。

このサウンドリストをダブルクリックすることで、出力することもできます。

サウンドリスト内の各行は、コロン( : )で次の3つの項目に分かれています。

クリアボタンを押すことで、選択を解除できます。

音長

音長は、その音の発音次の音の発音の間隔、3つ目の音なら発音から演奏終了までの時間です。初期値は48(四分音符相当)です。

発音長は、XGVoiceSampleの和音モード相当になり、最後にまとめてノートOFFされます。

5.3. ドラム定義ファイル

ここでは、ドラム定義ファイル固有の仕様について書きます。

音色定義ファイルと共通する部分については、「定義ファイル」項目を参照してください。

5.3.1. ドラムキット

定義の形式

ドラムキット定義は、コマンド文字 K に、バンク番号MSBバンク番号LSBプログラムチェンジ番号キット名を続けます。

例えば、

K127,0,9,Room Kit

などと定義します。

各MIDI初期化モードにおけるキットの扱い

ドラムパートをどう設定するかは、各MIDI初期化モードによって異なります。

バンクセレクトやプログラムチェンジを行わないモードであっても、ドラムキット定義において、バンク番号やプログラムチェンジ番号を省略することはできません。

たとえ使わなくても、適当な値(バンク番号MSB・LSBなら0、プログラムチェンジ番号なら1等)を記述してください。

5.3.2. サウンド定義

サウンド定義は、コマンド文字をもたず、 バンク番号MSB,バンク番号LSB,プログラムチェンジ番号,ノート番号あるいはノート名,オプション記号,サウンド名 という形式で記述します。ただし、オプション記号は未実装です。

各値の範囲は次のようになります。

例えば、次のように記述します。

127,0,1,40,,Snare Tight
127,0,1,1F,,Floor Tom L

6. 終わりに

一般にはGS音源の方がメジャーだと思いますが、これを機にXG音源も試してもらえたらと思います。

付録

A. XG liteとMidRadio Player

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を定義しています。

B. XG音源のGS互換

一般に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互換のドラムサウンドがあったり、と、ドラムパートの互換性にはバラツキがあるようです。

C. MidRadio Player6/7の共存

Windows版MidRaio Playerの内蔵ソフトシンセは、6と7の間で音が大きく変わりました。

ここでは、6の内蔵ソフトシンセと7の内蔵ソフトシンセを使い分ける方法について書きます。

以下の二通りの方法があります。

C.1. 方法A 予め起動

インストール

まず、6と7を、別のフォルダにインストールします。

優先順位は、後からインストールした方が優先されるようになるので、優先的に使いたい方を後からインストールします。

使い分け

MidRadio Playerは、一度に起動するのは一つだけなので、既に起動しているMidRadio Playerがある場合は、それが使われます。

つまり、6で聴きたい時は6を、7で聴きたい時は7を、予め起動しておけば、それで使い分けて聴くことができます。

ショートカット

使い分けられるように、6,7それぞれのショートカットを、デスクトップ、スタートメニュー、クイック起動ツールバー、「送る」メニュー等、自分が使いやすいところに入れておくといいでしょう。

設定

設定は、別々にインストールしても共有されます。

片方で設定を変えれば、もう片方を使う時にもその変更が有効になります。

なので、設定が共有されるので、片方(後からインストールした方)をコントロールパネルからアンインストールすれば、もう片方(先にインストールした方)は手作業で削除することになるかもしれません(未確認)。

C.2. 方法B DLLのリネーム

MidRadio Player6の内蔵ソフトシンセの実体

6の内蔵ソフトシンセを実装しているファイルは、インストールしたフォルダの Addins フォルダにある

の3つのファイルになります。

MidRadio Player7の内蔵ソフトシンセの実体

7の内蔵ソフトシンセを実装しているファイルは、同じくインストールしたフォルダの Addins フォルダにある

になります。

MidRadioPlayer7の挙動

MIDIを内蔵ソフトシンセで再生しようとした場合、MidRadio Player7は、まずは SGP2.DLL を探します。

見つかれば、MidRadio Player7の音でMIDIを鳴らします。

しかし、 SGP2.DLL が見つからない場合は、代わりに SGP.DLL を探します。

そして SGP.DLL が見つかれば、MidRadio Player6以前の音でMIDIを鳴らします。

つまり、 SGP2.DLL のあり/なしで、内臓ソフトシンセの切り替えが可能、ということです。

切替バッチファイル/Windows2000用

この切替をするためのバッチファイルを作ってみました。

以下の内容をメモ帳などで入力(コピペで可)、例えば 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用

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から内蔵ソフトシンセのコピー

切替を行う準備として、6の Addins フォルダから、 SGP.DLLsgpbinp1.tblsgpdatp0.tbl を7の Addins フォルダにコピーしておきます。

もし、6に上書きインストールしたのであれば、既に入っているかもしれません。

切替

上のバッチファイルをダブルクリックで実行すると、以下のように動作します。

  1. SGP.DLLsgpbinp1.tblsgpdatp0.tbl があるか確認。無ければメッセージ表示して終了。
  2. SGP2.DLL について
    1. SGP2.DLL があれば、今は7の内蔵ソフトシンセなので、ファイル名を _SGP2.DLL に変えて、6の内蔵ソフトシンセに。
    2. _SGP2.DLL があれば、逆に SGP2.DLL に変えて、6から7に。

つまり、実行する度に、MidRadio Player7の内蔵ソフトシンセの音が、6と7の間で切り替わります。

どちらになったかは、メッセージを表示した状態で止まるので、それで確認してください。

何かキーを押せば、終了します。

Windows9xでは、バッチファイルのプロパティで「終了時にウィンドウを閉じる」にしておいた方が、ウィンドウを閉じる手間が省けます。

D. ソース

ソースファイルは、以下のファイルにまとめてあります。

E. 省スペース版

スクリーンサイズが1024×600のNetbookで使おうとしたら、XGVoiceSampleは画面からはみ出て使えませんでした。

なので、より小さい画面でも使えるようにした省スペース版のXGVoiceSampleも用意しました。

変わったのは表示レイアウトだけで、中身はXGVoiceSample.jarと同じです。

XGDrumSampleも画面からはみ出るのですが、それなりに使えるので、特に対応はしません。

F. javadoc で出力したドキュメント

参考までに、 javadoc で出力したドキュメント(プログラム仕様)も置いておきます。

inserted by FC2 system