[表紙に戻る] [<<<<<] [>>>>>] [ひとつ上へ]
エクスクルーシブデータ送信などの用途で、MIDI音源に対して直接データを出力するための命令群です。
X MIDI音源に対して直接データを送信します。
書式 X{出力データ}〔,{出力データ…}〕 解説 MIDI音源に対して直接データを送信します。エクスクルーシブデータの送信はこの命令で行ないます。
{出力データ}は、 MIDI音源に出力するデータです。0〜127の数値、“""”でくくった文字列、または以下の特殊データを指定します。
@S1 @C1と対で使用し、以後チェックサム・タイプ1の計算を開始します。データは出力しません。このタイプにはローランド・ヤマハなどが該当します。 @S2 @C2と対で使用し、以後チェックサム・タイプ2の計算を開始します。データは出力しません。 @C1 @S1と対で使用し、チェックサム・タイプ1の内容を出力します。サムは以下の計算式で求められます。 式:(-{データ総和}) AND $7F 例:$00,@S1,$12,$34,$56,$78,@C1 @C1 = (-($12+$34+$56+$78)) AND $7F = (-$114) AND $7F = $6C 出力:$00,$12,$34,$56,$78,$6C@C1 @S2と対で使用し、チェックサム・タイプ2の内容を出力します。サムは以下の計算式で求められます。 式:{データ総排他的論理和} 例:$00,@S2,$12,$34,$56,$78,@C2 @C2 = ($12 XOR $34 XOR $56 XOR $78) = $08 出力:$00,$12,$34,$56,$78,$08文字列は1バイトずつアスキーコードに変換されたデータとなります。“"ABCDE"”と“$41,$42,$43,$44,$45”は同じです。
変数を記述した場合、変数の内容は文字列として解釈されます。たとえば、変数?Aに127が設定されている場合、“X ?A”は“X "127"”($31,$32,$37)と同じです。数値として解釈させたいときは“X 0+?A”のように記述します。
参照
用例 エクスクルーシブ「GSリセット」を送信します。
; GSリセット 3 X$F0,$41,$10,$42,$12,@S1,$40,$00,$7F,$00,@C1,$F7