RT_KeyBased_Basic

■概要

 この機能は、リズムセット等のキーベースの楽器に、 コントロールチェンジ同様の機能を提供します。


■書式

RT_KeyBased_Basic(INT I_Key, Array A_Data);

[備考]
※この命令は、コンパイラ内部で以下のMMLに変換されます。
SysEx = $F0, MakerID_RealTime, idDevice, RT_KeyBasedInstrument, RT_KeyBasedInstrument_Basic, Channel-1, INT I_Key , Array A_Data, $F7

■引数

引数名 初期値 範囲 機能
INT I_Key - 0〜127 コントロールを指定するノート・ナンバーを指定します。
Array A_Data - - この配列は、コントロールチェンジ同様の番号cc及び、値nnを指定します。
上記の2つで1セットとなり、複数のセットを指定することが可能です。
番号cc及び、値nnの詳細は、以下の「■説明」を参照して下さい。
INT idDevice $7F $00 〜 $7F MIDIデバイスのDeviceIDを指定します。
MIDI規格では、Bloadcastである$7Fを推奨しています。


■返り値

無し


■説明

現在のチャンネル(リズム・チャンネル等)のINT I_Keyのノート・ナンバーに割り当てられた楽器について、 チャンネルベースのコントロールチェンジと同様の機能を提供します。
以下の表は、キーベースド・コントローラーに一般的に使用されるコントロールです。

一般的に使用される制御装置
No.cc名称 指定可能値 vv
7 Note Volume 0〜64〜127
10 *Pan 0〜127 (絶対値)
33〜63 LSB for 01H-1FH 0〜64〜127
71 Timbre/Harmonic Intensity 0〜64〜127
72 Release Time 0〜64〜127
73 Attack Time 0〜64〜127
74 Brightness 0〜64〜127
75 Decay Time 0〜64〜127
76 Vibrato Rate 0〜64〜127
77 Vibrato Depth 0〜64〜127
78 Vibrato Delay 0〜64〜127
91 *Reverb Send 0〜127 (絶対値)
93 *Chorus Send 0〜127 (絶対値)
120 **Fine Tuning 0〜64〜127
121 **Coarse Tuning 0〜64〜127
Bank Select MSB/LSB(00H,20H)、 Data Entry MSB/LSB(06H,26H)、 RPN/NRPN Message(60H,65H)、 Mode Change Message(78H〜7FH)を除き、 どんなコントローラー(Control Change)もccに使用されます。
これらの除外されるコントローラーのナンバーは、未使用且つ他の用途に有効であるので、 それらのいくつかは再定義され、2つのアスタリスク(**)で示されます。

一つのメッセージで、複数の制御装置及び値の組を送ることができます。

一般に、Key-Based Instrument Controlメッセージは、 規定されている(プリセット)パラメーター値に対して、相対的に調整されます。
例外は、1つのアスタリスク(*)で示されます。

MIDI規格では、Program Changeメッセージによって新しい音色(パーカッション・サウンド・セット等)が選択された時は、 MIDIデバイスは各キーに割り当てられた音色に、規定されている(プリセット)パラメーター値を設定します。
vvに64($40)を指定した時は、そのMIDIデバイスのデフォルト設定となります。
64未満を設定した時は減少し、64を越える値を設定した時は増加します。
ユニットとMIDIデバイスの精密な動作は、以下に定義される推奨案を除いてメーカーの判断に任されています。
General MIDI Level.2(GM2)での推奨案は、以下の通りです。

The recommended practice for the General MIDI Level.2
cc名称 vv Description Default
7 Note Volume0〜64〜127 0 〜 (127÷64)×100.0 [%] (相対変化) 64 ($40)
10 Pan 0〜64〜127 左〜中央〜右 (絶対変化) プリセット値
91 Reverb Send0〜127 0〜Max (絶対変化) プリセット値
93 Chorus Send0〜127 0〜Max (絶対変化) プリセット値

尚、General MIDI Level.2では、リズムチャンネル以外で受信しない事を推奨しています。

■使用例

List.1

//-----------------------------------
TR(10)	CH(10)	@1	EP(127)	V(100)
	RT_KeyBased_Basic(NoteNo("o3c"),10,43);	//"o3c"のパンポットを43に設定する。
	RT_KeyBased_Basic(NoteNo("o3e"),10,56);	//"o3e"のパンポットを56に設定する。
	o3 l4 c4 e8c8 ^8c8 e4


■関連項目