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


■関連項目