midisend は特別のマップファイルを利用できます。これは当座の解決法です。 aRts はオーディオ処理のようにモジュール式のやり方で midi プロセスを扱えません。
このファイルによって midisend に midi ポートから来る midi メッセージを変更するように指示します。 midi メッセージは aRts に送られる前に変更されます。
これにより、例えばキーボードを分割することができるわけです。
このファイルはシンプルな ascii ファイルです。'#'から始まるコメントとコマンドからなります。 空行は無視されます。余分なスペース、タブも無視されます。
用語:
鍵盤の番号。 キーボードでどの音程がどう割り当てられているかを知るには、midisend を -v オプションを付けて起動します。
楽器を指定します。aRts ではチャンネルを楽器に割り当てます。
次のコマンドで midisend を設定することができます。
<Channel> のピッチが入って来たときに、それが特定の範囲内なら、 <PitchDifference> がピッチに追加されます。
書式: PRC <Channel>,<FromPitch>,<ToPitch>,<ToChannel>
<Channel> のピッチが入って来たときに、それが特定の範囲内なら、 <PitchDifference> がピッチに追加されます。
書式: PRD <Channel>,<FromPitch>,<ToPitch>,<PitchDifference>
<Channel> のピッチ <Pitch> が入って来たときに、 チャンネルは <ToChannel> に変わります。
書式: PTC <Channel>,<Pitch>,<ToChannel>
<Channel> のピッチ <Pitch> が入って来たときに、 ピッチは <ToPitch> に変わります。
書式: PTP <Channel>,<Pitch>,<ToPitch>
例: 49個の鍵を持ったキーボードを仮定します。キーボードを2つに分け、 それぞれに同じオクターヴながら別々のチャンネルを配置するには、次のようにします。
1 PRC 0, 1, 59, 1 2 PRD 0, 1, 59, 24 |
初めの部分のキーボードのオクターヴを1つ下げるには次のようにします。
PRD 0, 1, 59, -12