vcc解説

vccファイルは仮想コントロールの定義をするファイル。mtbファイルでモジュールとの
関連づけを指定する。

一応1-256まで設定ができるが、自由に使えるのはそのうち128-150,156-256

書式は、

["仮想コントロール番号"]
name="名前"
コントロール名。名前がだらだらと長い場合はdispnameと併用する。

data="データ"
後述。

color="色"
0xRRGGBBで指定する。
ノートと被らないように、できるだけ0x000000・0x008000以外の値を指定しておく。
デフォルトは0x000000

value関係

value="初期値" (noneを指定した場合はvalueは使用しない)
初期値が使われることはあまりないので、value=noneの時以外は適当でいい。
省略した場合は0が設定される。

value_offset="オフセット値"
実際に音源に送るときに、リストウィンドウの値に加える数値。
主に負の数値を表示するときに使う。

value_min="下限値"
value_max="上限値"
valueの数値の範囲。
リストウィンドウでの値なので、実際にはオフセット値を加えた数が使われる。
省略した場合は下限0、上限127が設定される。

value_table="テーブルセクション名"
使用するテーブルを指定する。
指定した場合、テーブルで定義された名前に表示が置き換わる。
テーブルを使用する場合は、上限が127を越えないように注意。

value_name="valueの名称・説明"
コントロール挿入ダイアログで表示される。
コメントのようなもの。

gate関係

gate_name="gate値の名称"
gate値を使用する場合は必ず指定する。
コントロール挿入ダイアログで表示される。

gate="初期値"
初期値が使われることはあまりないので、あまり気にしなくてもいい。

gate_min="下限値"
gate_max="上限値"
gateの数値の範囲。
省略した場合は下限0、上限127が設定される。

その他

dispname="省略名"
これが指定されている場合はリストウィンドウではこちらが使われる。
リストウィンドウは14文字までしか表示できないので、名前が14文字を越える場合はこっちで調整する。

comment="コメント"
コメント。
制作者用(?)

"[","]"内を数字以外にした場合はテーブルの定義になる。
テーブルについては後述。

data部について

dataには実際に音源に送るデータを記述する、
最初に "_" がつく場合は状況に応じて置き換えて送信される。

そのまま送信されるもの

16進 … 0xFC 0xD0 0x3C
10進 … 120 50 25

チャンネル番号を自動で補完するもの

0x8* … _80 (ノート・オフ)
0x9* … _90 (ノート・オン)
0xA* … _A0 (ポリフォニック・キー・プレッシャー)
0xB* … _B0 (コントロール・チェンジ)
0xC* … _C0 (プログラム・チェンジ)
0xD* … _D0 (チャンネル・プレッシャー)
0xE* … _E0 (ピッチ・ベンド・チェンジ)
チャンネル番号 … _CH
チャンネル番号 (ポート番号付き) … _PCH
(Roland変則)チャンネル番号 … _RCH
(Roland変則)チャンネル番号+0x10 … _1RCH
(Roland変則)チャンネル番号+0x20 … _2RCH
(Roland変則)チャンネル番号+0x40 … _4RCH

valueの値で置き換えるもの

下位7bit … _P1
上位7bit … _P1H
(上位4bit … _P2M4)未対応?
(下位4bit … _P2L4)未対応?

gateの値で置き換えるもの

下位7bit … _P2
上位7bit … _P2H

RPN、NRPNに置き換えるもの

NRPN … _NRPNA(MSB,LSB)
RPN … _RPNA(MSB,LSB)
RPNデータ … _RPND(MSB,LSB)

その他

チェックサム … [ ] で囲った範囲を計算してチェックサムを末尾に追加する
テンポチェンジ (VALUEと置き換え) … _TEMPO

data指定例

コントローラー

まず、標準ではないPolyphonic Key Pressureの追加例です。

注意点として、標準のコントローラーは番号が何故か決まっています。
_B0は1-127まで、_D0は150、_A0は151、_E0は153でこれらは番号は変えない方がいいでしょう。

記入例

[151]
name=Polyphonic Key Pressure
dispname=PAf
gate_name=ノートナンバー
data=_A0 _P2 _P1
color=0x006699

解説

[151]
注意点で述べたように、番号は151とします。

name=Polyphonic Key Pressure
dispname=PAf
名前が長ったらしいのでdispnameで短縮名を記述します。短縮名はSC-8850のマニュアルを参考にしました。

gate_name=ノートナンバー
data=_A0 _P2 _P1
ポリフォニック・キー・プレッシャーは2つの数値を指定する必要があるのでgate値を利用するためにgate_nameを指定します。
ポリフォニック・キー・プレッシャーの書式に従い、0xA(チャンネル) (ノート番号) (数値)となるように指定してきます。
0xA(チャンネル)は_A0、(ノート番号)・(数値)はそれぞれgate・valueをそのまま使用するため_P2 _P1と指定。

指定する数値は0~127なので、その他は指定しません。

color=0x006699
やや薄めの青色を指定します。ここらへんは趣味で。

エクスクルーシブ

一番多用すると思われるExcの追加例です。
チャンネル番号の指定方法は個々の音源で違ってくるかもしれないので、マニュアルを熟読しましょう。

ここでは、一度も使ったことはないですがマスターパンを追加してみます。

記入例

[133]
name=Master Pan
value=0
value_min=-63
value_max=63
value_offset=64
data=0xF0 0x41 0x10 0x42 0x12 [ 0x40 0x01 0x06 _P1 ] 0xF7
color=0x669933

解説

[133]
マスター系は128~にまとめると分かりやすいので今回は133で。

value=0
value_min=-63
value_max=63
value_offset=64
Panは64で真ん中なので、value_offsetを指定。64を0として表示します。
minとmaxはそれを受けてそれぞれ-63・63を指定します。
data=0xF0 0x41 0x10 0x42 0x12 [ 0x40 0x01 0x06 _P1 ] 0xF7
システムエクスクルーシブなのでチャンネル指定はありません。
エクスクルーシブの開始を伝える0xF0の後に機種毎に割り与えられた識別値を送ります。0x41 0x10 0x42 0x12

8850はチェックサムで送られたエクスクルーシブを正常かどうかを判断します。そのため、チャックサムで使われる部分は"[","]"で囲みます。
valueで指定する箇所には_P1し、最後にエクスクルーシブの終了を伝える0xF7を送ります。
color=0x0x669933
やや薄めの青色を指定します。やっぱり趣味で。Panは標準で黄土色なのでそれをふまえてみます。

テーブル

"[","]"内に文字を指定することでテーブルデータを設定することができます。
0-128までの配列と思いましょう。

書式は、

["テーブル名"]
数字="置き換える文字"

テーブル名はvalue_tableで指定する文字を書きます。

0/1でON/OFFを切り替える場合や、エフェクト指定時に役立ちます。