パソコンとMIDIで通信(パッチ切替編)

1.MIDI信号で操作できるらしい

 ZOOMのマルチエフェクタは、USBから受信したMIDI信号を解釈して動作を変更したり、状態をMIDI信号で送信してくれたりするらしいです。これを利用して作られた、https://github.com/g200kg/zoom-ms-utility/ にソースコードやMIDIデータを解析したデータフォーマットも同梱されているので参考にやってみました。

2.SYNCTRLのインストール

SynCtrl(シンコントロール) が、パソコンのMIDI送受信の定番アプリらしいので、ベクターでダウンロード&インストールしました。

3.SYNCTRLの起動

パソコンにZOOMのマルチエフェクタをUSB接続して、SYNCTRLを起動します。

4.プログラムチェンジの送信

出力ポートをZOOMのエフェクタ(例:「ZOOM G Series」)にして、「プログラムを1にして、パラメータを送信」とか「プログラムを10にして、パラメータを送信」とかやってみます。

5.ZOOMのマルチエフェクタのバッチが切り替わりました!

 パソコンからはZOOMのエフェクタはMIDI機器に見え、プログラムチェンジを送るとパッチ番号で指定したパッチに切り替わる様だ。

6.何が起きているのか?

 先人のMIDIメッセージ解析結果と見比べてみました。

zoom-ms-utility/midimessage.md at master · g200kg/zoom-ms-utility · GitHub 

によると、以下と記述されています。

PatchSelect
[0xc0,pp] : Program Change
Select a patch. pp=patch number (0-49)

MIDIのプログラムチェンジというコマンドは、最初のデータが0xc0、次がパッチ番号で0番から49番。これを送るとパッチが1から50の間で任意に切り替わるの意味だと思います。
ちなみに、TunerMode On/Offも操作できる様です。

Tuner Mode On/Off
[0xb0,0x4a,mm] : Control Change CC#74
Tuner Mode On/Off. mm<64:off, mm>=64:on
 
MIDIのコントロールチェンジというコマンドは、最初のデータが0xb0。
次を0x4aとして、その次のmmを一例として、0でチューナーON,64でチューナーOFF。

7.SYNCTRLで検証

(1)バイナリ画面を選択

画像に alt 属性が指定されていません。ファイル名: image-2.png

(2)出力ポートを選択する。

  「ZOOM G Series」(G3の場合)、「ZOOM MS Series」(MS-50G等)

(3)プログラムチェックを送信 「C0 01」を入力して「送信」

※返信はないが、エフェクタ画面をみているとパッチが変わるのがわかる。

(4)チューナーモード コントロールチェンジを送信「B0 4a 00」

画像に alt 属性が指定されていません。ファイル名: image-16.png

※応答はないが、エフェクタの画面でチューナーモードになることがわかる。

(5)チューナーモード解除 コントロールチェンジ「B0 4A 64」を送信

画像に alt 属性が指定されていません。ファイル名: image-15.png

※応答はないが、エフェクタの画面でチューナモードが解除されることがわかる。

おわり