土曜日, 7月 08, 2006

「サクラ」でチャンネル毎に別の音源を割当

今まで「サクラ」から出力されたMIDIデータを、savihostでスタンドアロン化したソフトシンセに送って音を出してきた。この場合、「サクラ」のMIDIの出力先とソフトシンセのMIDIの入力先を同じにすることで、ソフトシンセ側でMIDI信号を受けることができたわけだ。

ということは、下の画像のように二つの別のソフトシンセを立ち上げて、MIDIの入力先を同じにすれば両方のソフトシンセをならすことができる。



この状態で下のプログラムを実行すると、確かに2つのパートの音が両方のソフトシンセで鳴る。

//---------- ここから ----------

Track(1)
[100 @(1) n(Random(40,80))(RandomSelect(4,8))]
Track(2)
[100 @(1) n(Random(40,80))(RandomSelect(4,8))]

//---------- ここまで ----------



ところで、せっかくパートを分けてあるのだから、Track1とTrack2を別々のソフトシンセで鳴らせてみたいところだ。

savihostは、標準の設定では1~16の全てチャンネルを受信するようになっている。そのため両方のソフトシンセでTrack1とTrack2が鳴ってしまうわけだ。

では、どうしたらいいのかというと、それぞれのソフトシンセで受信するチャンネルを制限してしまえばいいのだ。

方法は、ソフトシンセのメニューでEffect→Filtersを選択する。すると下のようなFilter Settingsという設定画面が出る。



Channelsのところを見ると全てのチャンネルを受信する(フィルターが掛かっていない)状態になっている。このセッティングを、受信するチャンネル以外にチェックを入れてフィルターを掛ける。



Pipe Organがチャンネル1だけを受信、4Front Pianoがチャンネル2だけを受信するよに設定して、もう一度演奏させてみる。



Track1がPipe Organ、Track2が4Front Pianoで演奏される。