第12回 EXCLUSIVE1

  ついにきました。EXCLUSIVE(エクスクルーシブ)の回です。   これを使うといろんな事ができます。   早い話が、音源を直接16進数を使って制御しますので   コンピュータで言うならば、直接機械語を手書きする感覚です。    2セット・ドラムをサンプルに基本的な書き方を紹介しましょう。   私はレコンポーザーを愛用してますので、編集画面から[SHIFT]+[\]を押すと   現れる「トラック・エクスクルーシブ」画面からEXCLUSIVEを入力します。   (各シーケンサーによってEXCLUSIVE入力方法は違いますが、内容は一緒です)    2セット・ドラム (1CHを2番目のドラムCHにする場合) 2-SET-DRUM EXCLUSIVE [ F0 41 10 42 12 40 11 15 02 18 F7 ] F0 ・・・ エクスクルーシブ開始の合図。F0 〜 F7 の間にエクスクルーシブ本体を書きます。    ちなみにレコポの編集画面では省略されてます ^^; 41 ・・・ メーカーID。ローランドの音源のは「41h」ヤマハの音源は「43h」です 10 ・・・ デバイスID。SCSIのID番号みたいな物です。 同じ機種が2台以上ある時に区別する物で、データをどの音源に送るのかを 設定します。音源1台の時のデフォルトは「10h」です。 42 ・・・ モデルID。どういう種類の音源かを特定します。「42h」はGS共通で、     「GS音源共通のエクスクルーシブをこれから送りますよ」     という意味になります。ちなみに「45h」を送ると、SC−55系専用の     エクスクルーシブを送る意味になります。 12 ・・・ コマンドID。音源に対して命令を送ります。      「12h」はデータ・セット、「11h」はデータ要求を意味します。 40 11 15 02 ・・・ 命令の本体です。(インプリのアドレスがそのままくる) インプリを見れば書いてありますが、これは、2つの部分と意味を持っています。 まず、始めの「40 11」は、どのチャンネルを設定するかを聞いています。 「11」が1chを意味しますので、この部分は、1chをドラムにするという意味に   なります。他のチャンネルの時は以下の表のようになります。 +---------+--------+ | チャンネル | 数値 | 従って、11chをドラムにしたいときは、 +---------+--------+ この部分は「40 1A」になります。 | 10ch | 10h | ただし、最後のチェックSUMも直さないと | 1ch | 11h | このまま直しただけでは使えませんが。(^^; | 2ch | 12h | | 3ch | 13h | | 4ch | 14h | | 5ch | 15h | | 6ch | 16h | | 7ch | 17h | | 8ch | 18h | | 9ch | 19h | | 11ch | 1Ah | | 12ch | 1Bh | | 13ch | 1Ch | | 14ch | 1Dh | | 15ch | 1Eh | | 16ch | 1Fh | +---------+--------+ 後半の「15 02」は、GSで2つ使えるドラムチャンネルのうち、 どちらを使うかを設定します。ドラム自体は2つしか使えませんし、 基本的に10chは1つ目のドラムとして使っています。ですから、 2つ目のドラムとして定義します。「02」2つ目のドラムを意味してます。 ちなみに「00」は普通のチャンネル 「01」は1つ目のドラムを意味します。 18 ・・・ チェックSUMです。データが間違っていないかどうか、ここで判定します。    計算方法は、以下に示します。     命令の本体部分から計算します。 命令部を合計します(16進数なので10進数に変換してから計算する)      40h + 11h + 15h + 02h = (64) + (17) + (21) + (2) = 104      128で割った余りを求めます。 104 / 128 = 0 ... 104      128から余りを引きます    128 - 104 = 24 その値を16進数になおします。これがチェクSUMです。 (24) -> (18)h F7 ・・・これで、送るべきエクスクルーシブの終わりを意味します。ファイルで言うなら    EOFみたいなものですね。 BY 次回では、実践的なエクスクルーシブを紹介していきます  プリQ