マイページへログイン
サポートトップ
よくある質問
ダウンロード
使いこなす

使いこなしのテクニックシステムエクスクルーシブの使い方 Roland 社 GS音源の場合

エクスクルーシブの具体例 [GS]

ある音源にどのようなエクスクルーシブを送ればよいかは、メーカーや機種によって異なりますので、使用する音源などのマニュアルに書かれた「MIDI インプリメンテーション」に従ったデータを送る必要があります。

Roland の SC-88Pro を例にとって調べてみます。(SC-8850/8820, SC-88Pro/88/55, VSCなど GS対応機器で共通です)
SC-88Proにデータを設定するためのエクスクルーシブは以下のフォーマットを使用します。

データ(H) 説明
F0 エクスクルーシブ ステータス
41 メーカーID (Roland)
dev デバイスID (初期設定では 10H)
42 モデルID (GS)
12 コマンドID (データセット)
aa 送信するデータの先頭アドレスの上位バイト
bb 送信するデータの先頭アドレスの中位バイト
cc 送信するデータの先頭アドレスの下位バイト
dd 送信するデータ本体
sum チェックサム
F7 EOX(エンド オブ エクスクルーシブ)

チェックサムとはデータが正しく送信されたかをチェックするものです。
計算方法はメーカーによって異なりますが、(要求しないメーカー、機種もあります。)

SC-88Proでは、以下のように計算します。

  1. アドレスの上位バイトからデータまでを加算する。
  2. 1.を "128" で割った余りを求める。
  3. "128" から2.の余りを引いたものが "sum" になります。

これを難しくいうと、アドレスからチェックサムまでを(チェックサムも含む)加算した値の下位 7ビットが "0" になる値ということになります。 (このあたりもすべて使用する音源などのマニュアルの「MIDI インプリメンテーション」に書かれています)

マスターボリュームの例

では実際に SC-88Pro のマスターボリュームを "90" に設定するようなエクスクルーシブを作ってみましょう。
SC-88Pro のマニュアルの「MIDI インプリメンテーション」の章でマスターボリュームのパラメータを見ると、以下のような記述になっています。

アドレス(H) サイズ(H) データ(H) パラメーター 説明 初期設定値(H) 説明
40 00 04 00 00 01 00 - 7F MASTER VOLUME 0 -127 7F 127

"90" は 16進で "5AH" ですから SC-88Pro のマスターボリュームを "90" に設定するようなエクスクルーシブは、

F0 41 10 42 12 40 00 04 5A sum F7

になります。sum は前述の計算方法で求めます。

40H + 00H + 04H + 5AH = 64 + 0 + 4 + 90 = 158  (10進数に変換して和を求める)
158 ÷ 128 = 1 余り 30  (128で割った余りを求める)
128 - 30 = 98 = 62H  (128から余りを引いて、結果を16進数に変換する)

したがってSC-88Pro のマスターボリュームを "90" に設定するようなエクスクルーシブは、
F0 41 10 42 12 40 00 04 5A 62 F7
ということになります。