バルクダンプとはSystem/Temporary/User領域に対して読み込み、書き込みされるアドレス 0 で始まるのSysexの集まりです。バルクダンプの読み書きはシーケンサ又は適当なツールを使って行ないます。Syxedit.exeにはCakewalkで読み取ったSystem/Temporary領域のバルクダンプを添付してあります。ここでは添付してあるバルクダンプを Syxedit.exe がコメント付で編集した画面を使い、JV-1010/2080のバルクダンプを種類別に解説します。マニュアルに記載されていない情報が多いため、必要十分とはいえません。有効な情報をお持ちの方はご教授いただければ幸いです。メールはこちらにどうぞ。
編集画面と編集方法
コメント行
'#', '/', ':' で始まる行。内容はJV-1010/2080のMIDIインプリメンテーションとほぼ同様です。その前の入力行のパラメータの内容に関する注釈となります。
"##....##" と # ではさまれた行は見出し。
',' はパラメータを区別するための識別子。'/'は連続するパラメータで一部の単語が共通する場合の省略する表記に使用。
注釈文の中で "n-n"(nは数値)は同じパラメータ群が繰り返されることを意味します。また"(....)"の記述はハラメータの値の説明です。':'で始まる行は"(....)"表記の補注です(括弧内に記述するには長過ぎる場合に使用)。
またマニュアルのMIDIインプリメンテーションと同じく、<...> でかこまれた内容はJV-1010では機能しないものです。
パラメータ入力行
'%'で始まる行です。'='をデリミタとして前半がパラメータ項目の説明、後半がデータの値となります。データの値は10進数かASCII文字です。ASCII文字は12バイト固定。10進数は',',' ','-'をデリミタとして使えます。値を変更した時には"jv"ボタンを押せばSysexの内容が変更されます。
16進数ダンプ行
昔懐かしい(^^;;;16進ダンプ表記です。バイト単位に空白で区切られ、8バイト置きに '-' が入ります。
10進数ダンプ行でも"to"ボタンを使うことにより、パラメータの修正を行なうことができます。
設定ファイルと編集画面
サンプルを見て頂いて、解説するのが簡単だと思いますので、Performance Partの頭の部分(GSのMIDIファイルだと、CC/PCを使ってチャネル毎に音色を選んでいる部分に相当します)の編集画面です。
#### JV Performance ####
F0 41 10 6A 12 01 00 12 - 00
### Temporary Perf Part ###
% Receive Switch, MIDI Channel = 1 2
: Receive Switch(OFF,ON)
01 02
## Patch Info ##
% Patch GroupType/GroupID = 0 3
: Patch GroupType(USER&PRESET,,EXP)
: GroupID(below)
:: Type=0 0:? 1:USER 2:CARD 3:PRA 4:PRB 5:PRC 6:GM 7:PRE
:: Type=2 2:ORC1 7:SUPER 9:SESSION 13:VOCAL
00 03
% Patch Number = 1
(starts from 1 p118)
00 00
'#' ':' '('で始まる行はコメント行で、Sysex群の名前やパラメータの入力方法を説明しています。
'%' で始まる行が10進のデータ入力行で、'=' をデリミタとして使い、前半部分が入力する項目の名前、後半が10進の数値です。内容を変更するには後半の数値の部分を変えればよい。例えば、上記の例では音色に "64 tones piano" を使っているのですが、これをセッションのピアノに変えたければ、
% Patch GroupType/GroupID = 0 3
を
% Patch GroupType/GroupID = 2 9
にすればよい(Patch Numberは両方共 1 なので変更不要)。16進の数値で始まる行は該当その直前の入力行の16進ダンプ。ここの数値を変えてSysexの内容を変更させることもできます(その必要はないと思うけど)。
で、この部分の設定ファイルですが、
[004]
N
% Receive Switch, MIDI Channel = A,0,2
: Receive Switch(OFF,ON)
=0,2
N
## Patch Info ##
N
% Patch GroupType/GroupID = A,2,2
: Patch GroupType(USER&PRESET,,EXP)
: GroupID(below)
:: Type=0 0:? 1:USER 2:CARD 3:PRA 4:PRB 5:PRC 6:GM 7:PRE
:: Type=2 2:ORC1 7:SUPER 9:SESSION 13:VOCAL
=2,2
N
% Patch Number = B,4
(starts from 1 p118)
=4,2
N
となっています。
対比してご覧になっていただけば、大体分かると思いますが、空行を含む先頭の4行はプログラムでSysexのアドレスを判定して、自動的に出力しています。
この出力情報も設定ファイルに記述することを検討したのですが、書式が複雑になりプログラミングも大変なので、パス(^^;;。プログラムでSysexの種類を判定し、あらかじめ定めた対応する番号のブロック([nnn]行で始まり空行で終わる)を読みだすという方式にしています。
N
は改行の指定。
コメント行は行の始めを '#' ':' '(' で始めればよい(プログラムは '#' ':' '(' で始まる行をそのまま出力しているだけ ^^;;)。入力行も同じで、行の始めを '%' で始めて、項目の説明が終わったら、'=' で続けて、入力対象となるSysexの種類、アドレス、長さをブランク又はカンマをデリミタとして、連続して指定すればよい。
種類は 'A' 'B' 'C' の三つで、'A' が 1バイトのパラメータ、'B' が 2バイトのパラメータ、'C' がアスキ文字となります。2バイトのパラメータは連続することはないので、'B' の指定で長さの指定は不要。
例えば、
% Patch GroupType/GroupID = A,2,2
というのは、Sysexのデータ部の2バイト目から2バイト分10進変換するという指定になります。
一行に複数のパラメータを指定することもできます。例えば、
% Patch GroupType/GroupID/PatchNumber = A,2,2 B,4
と設定すれば、
% Patch GroupType/GroupID/PatchNumber = 0 3 1
と出力されます。
'=' で始まる行は16進ダンプの指定。これも続けて、位置と長さを指定。
16進ダンプを表示したくないということであれば、この行を削除すれば、表示しなくなります。
今のところ、設定方法はこれだけで、アドレス 0ではじまるJVのバルクダンプのみが対象です。
JV-1010の目次のページに戻るのであれば、ここをクリック。