「これはまた別の機会に」と書いたままだいぶ月日が経ってしまいましたが SE-70 の MIDI System Exclusive Message についてです。
私の使っている Cubase VST 5 には studio module という MIDI システムエクスクルーシブメッセージ (sysex) を使って音色を管理するモジュールが付属していて、シンセ類の音色パッチはこれを使ってデータ管理しています。 シンセから取り込んだパッチをソングの一部として保存できるし、取り込んだ名称を使って Cubase 上でパッチを選択できるので、特に複数の機器を用いてレコーディングする場合に studio module はかなりの威力を発揮します。
今となっては何世代か前のバージョンになってしまった VST 5 ですが、少なくとも初期の Cubase SX/SL には studio module に相当するものがないとのことだったので アップグレードを見送り、結局現在まで Cubase VST を使い続けています。
さて我が愛器となった ボス SE-70 のセッティングデータもこの studio module で管理しようと思いました。 Cubase パッケージに含まれていた SE-70 用のドライバを用いてデータを PC に転送にしたわけですが、何とエラーが起こりデータを保存することができません。 Cubase VST 5 には DMaker というドライバファイルを作成するためのツールが付いてきます。 これを使って付属の SE-70 用ドライバを読み込みその内容を眺めてみると、どうやら SE-50 用のドライバを多少変更しただけで動作確認もろくにしていないようなものがパッケージに収録されてしまったようです (泣)。
付属のドライバファイルの多くはユーザが作成したものなのです…
仕方ないので何とか手を入れて動かしてみようと思い立ちましたが、なかなか大変です。 DMaker の情報も少ないのですが、 それに加えてマニュアルを始めとしてどこにも SE-70 の MIDI システムエクスクルーシブメッセージについての解説が載っていないのです。
唯一 Web 上で見つけたのがこのページの情報です。 これと SE-50 のエクスクルーシブ情報 (こちらはマニュアルに記述あり) を参考にしつつ試してみたところ、エフェクトデータの要求は以下のコマンドで可能だとわかりました。
F0 41 DEV 61 11 a1 a2 a3 s1 s2 s3 F7 DEV: デバイスID = (MIDI チャンネル -1) a1-a3: アドレス s1-s3: サイズ
エフェクトデータのアドレスは以下の通りです。
00 00 00 Effect #1 01 00 00 Effect #2 ... 63 00 00 Effect #100
サイズは0以外ならば何でも良いようで、例えば1番目のエフェクトデータを要求するには SE-70 に以下のコマンドを送ります。
F0 41 00 61 11 00 00 00 01 00 00 F7 (MIDI チャンネルを1に設定している場合)
すると SE-70 よりデータがダンプされます。 ダンプされるデータは以下のようなものですが、
F0 41 DEV 61 12 a1 a2 a3 ...
個々のエフェクトデータは可変長でアルゴリズムによってもサイズが異なりますし、同じアルゴリズムでも設定によってサイズが変化します。
とりあえずこれらの情報をもとに studio module 用ドライバを修正して SE-70 のデータを PC に送ることはできるようになりました。 まずはエフェクトパッチの保存という目的は達成しました。
しかし、送られる個々のパッチデータサイズが可変長でパッチ名の位置も変わるため表示用名称の位置を固定アドレスで指定できず、studio module 上にパッチ名を表示できない (正確にはゴミが表示される) 状況です。 これには困っているのですが、とりあえず保存ができるからと問題を放置したまま今日に至っております…