このところアクセスが増えているようなので、わかりやすくまとめてみようと思う。
ZOOM MSシリーズのうち、USBポートの付いている機種は、適切な形でMIDIプログラムチェンジ信号を送ってやるとパッチを切り替えることができる。
MS-50Gの場合はパッチが50個あるので、これを任意に切り替えることができるようになると、かなり使い勝手が広がる。ということで、過去に何度か書いた通り、私の場合はMIDIスイッチャーに組み込む形にした。ただ、造作もコードも複雑になるので、単純にレガシーMIDIからUSB MIDIへの変換BOXみたいなのを作った方が簡単だし、応用もきくだろう。
必要なのは、Arduino UNO、USBホストシールド、ケース、あとの部品は下記を参照にして欲しい。
図のICはフォトカプラである。LEDは特段なくてかまわない。
例によってUSBホストシールドは省略してあるが、ARDUINOの上に重ねて使用する。
ホストシールドはいくつかのバージョンがあるようなので注意。
私が使った奴を一応載せておく。
部品点数も多くないので、そう難しくはないだろう。
ただ、実用に当たっては、ケースに収める方がいいだろう。
当然デジタルノイズのノイズ源になる。
また、電源関係はちょっとクセがあるので注意。
出来上がったモノをUSBでMS-50Gにつなぐと、USBからMS-50Gに電源が供給される。
容量の多い電源回路を別途搭載すれば別だが、Arduinoのレギュレーターを使用した回路だと、ちょっと容量が心配になる。
MS-50Gに専用の9VACアダプターを付けて電源供給すると、USBからの給電は切れるようであるが、ACアダプター差しっぱなしでも、電源が供給されないとUSB側から電流が流れてしまう。
なので、電源投入は必ずMS-50Gからという注意が必要だ。
私は9Vのエフェクター用のACアダプタから、電源スイッチを経由してARDUINOのレギュレーターにつなぐ形で電源としている。
なので、別途ACアダプタージャックとスイッチが必要。
Arduino本体の電源ジャックは、普通のエフェクターのジャックとは正負が逆なので、使わない方が間違いがないだろう。
あと、ケースに実装する際の注意だが、USBホストシールドのリセットスイッチを外から押せるようにしておいた方が良いと思う。
ハングした時に押せばすむようになる。
信号線の近くにあれば、デジタルノイズ発生は必至なので、やはり金属ケースに収めるべきであろう。
使用しているホストシールドは、Arduinoに比べて基盤の長さが短く、上に重ねると、USB端子が外端に届かない。なので、別途USBジャックを買って配線するか、USBケーブルをつないでしまって、線からだすとか、そこは工夫して欲しい。
コードは以下の通り、ごく簡単なものだが提示しておく。
//MIDI ProgramChange Converter
#include <Usb.h>
#include <usbh_midi.h>
#include <MIDI.h>
#define LED_PIN1 2
MIDI_CREATE_DEFAULT_INSTANCE();
USB Usb;
USBH_MIDI Midi(&Usb);
void SendMIDI(int number)
{
Usb.Task();
byte Message[2];
Message[0]=0xC0;
Message[1]=number;
Midi.SendData(Message);
delay(10);
}
void setup(){
MIDI.begin();
Usb.Init();
pinMode(LED_PIN1, OUTPUT); //LED
digitalWrite(LED_PIN1, HIGH);
}
void loop(){
Usb.Task();
uint8_t data1,data2;
if (MIDI.read()) //MIDI受信
{
switch(MIDI.getType())
{
case midi::ProgramChange:
data1 = MIDI.getData1(); //プログラムチェンジナンバー取得
SendMIDI(data1); //MIDI送信
}
}
}
これで、MIDIスイッチャーや、例えばBOSS GT-8などのMIDI端子をつなげば、MS-50GをMIDIで連動させられる。
あとは工夫次第。レガシーMIDIの替わりに、普通のフットスイッチを付けて、スイッチごとにプログラムチェンジナンバーを振ってあげれば、簡単なMS専用のスイッチャーにもできる。
音作りの幅が広がることは言うまでもなく、ライブでもMSシリーズをフル活用できるようになるだろう。
私はもう、曲目ごとにパッチを変えてる。
5~6千円ほどでできると思うので、やってみて損はないと思う。
但し、メーカーの補償外の行為であり、結線によっては壊れるリスクなしとしないので、そこは自己責任で。
*2017/9/19追記(ライブラリが表示されていなかったのを修正しました)
*USBホストにはライブラリが必要
https://github.com/YuuichiAkagawa/USBH_MIDI
USBホストシールド 2.0 for Arduino (compatible with Goo.../梅本有限責任事業組合
¥価格不明
Amazon.co.jp
サインスマート UNO 互換ボード for Arduino*USBケーブル付き*/サインスマート(SainSmart)
¥価格不明
Amazon.co.jp
【永久保証付き】Arduino Uno/スイッチサイエンス
¥価格不明
Amazon.co.jp