前回のPICを使ったスイッチャーのレポは連載風にしてみたが、根気が続かなくて4回くらいの予定が2回で放置している。
(ちゃんと裏蓋も作ったよ)
なので、今回は少々長くても1回で終わらせることにした。

前回のレポの中で、ある種の言い訳のように試作機である事を強調していたが、実はそれには訳がある。
 ・・・ すでに言い訳じみた展開だが ・・・
PICのEUSARTという機能を使うと比較的簡単にMIDI通信が実現できることがわかったからだ。
将来的にはMIDI対応のスイッチャーを作りたい。そこで今回さらにMIDI機能についての試作機を作ってみた。


とはいえ、長らくMIDIって何のことかよく解らなかった。市販の製品でもMIDIがついていると不要なコストがかけられてるような
気がして、むしろ敬遠してたくらいだった。キーボードだとそんなことも言ってられないのかもしれないけど、ギタリストには結構
そういう人が多いのではないかな?
最近ちょっと勉強したので、一度ここでMIDIについて少しだけ整理しておこう。

MIDIのメッセージには、以下の7種類がある。
ノート・オフ
ノート・オン
ポリフォニック・キー・プレッシャー(アフタータッチ)
コントロール・チェンジ
プログラム・チェンジ
チャンネル・プレッシャー(アフタータッチ)
ヒ?ッチ・ベンド・チェンジ

これを称してチャンネル・ボイス・メッセージというらしい。
MIDIメッセージとしては他にもあるみたいだけどギタリスト的にはたぶん関係ない。さらに、ギターシンセでも使わない限り、
演奏情報も必要ない。機器の設定をやり取りするだけなので、プログラムチェンジとコントロールチェンジが使えればよさそうだ。
MIDIメッセージでは128段階(0~127)の数値をやり取りする。プログラムチェンジはそれを一つだけ、コントロールチェンジでは
二つ送ることができる。つまり、プログラムチェンジは128通りの項目(プログラム番号)を選ぶことができ、コントロールチェンジで
は128通りの項目(コントロール番号)を選んで、さらにその項目に対して128段階の数値(コントロール値)を送ることができる。
それぞれのメッセージに対する反応は受け手側の機器に依存する事になるが、プログラムチェンジはプリセットやパッチの呼び
出しを、コントロールチェンジでは特定のパラメータを操作するように想定されている。ワウなどのペダル位置の情報はコントロ
ールチェンジで送られるし、タップテンポやバイパスON/OFF、チューナーモードのON/OFFなんかもコントロールチェンジで行わ
れることが多いようだ。
そして、それらのメッセージを16通りのチャンネルに分けて送ることができる。16種類の機器を個別に指定してメッセージを送れ
る事になる。

"MIDI 1.0 規格書"というのがネット上に公開されていて詳述されている。詳しすぎてやや難解だが、ギタリスト的には上記のよ
うな理解でよさそうだ。MIDIは日本で作られた規格のはずなのに、英文を和訳したものらしい。"コントロール値"などの用語の
一貫性も曖昧な感じで書かれているが、ここではこれで統一することにした。


次に、試作機に求める機能を整理してみよう。
コントロールしたい機器は、

G-Major 2 (tc electronic)
M5(Line 6)
さらにアンプも5150IIIの50WはMIDIに対応している。

G- Majorは主にアンプのセンドリターンにつないでいる。いわゆる空間系ではなくロングディレイのギミック用。曲ごとに設定は
変えたいしタップテンポが必要な曲もある。プリセットをプログラムチェンジで切り替えて、タップテンポをMIDI経由で操作するに
はコントロールチェンジを送らないといけない。バイパスもコントロールチェンジで行える。

M5はトランストレム代用のピッチシフターのために買ったんだけど、G-Majorを繋いでない時にはディレイで使うこともある。さら
に、フェイザー、フランジャー、コーラス、ワウも結構使える。
プリセットの変更はプログラムチェンジで行う。タップテンポ、バイパス、ペダルコントロールはコントロールチェンジで行う。

5150V50Wはチャンネル切り替えをプログラムチェンジで、エフェクトON/OFFはコントロールチェンジで行う。

と、いうことで、

・チャンネルを指定して、任意のプログラム番号のプログラムチェンジを送る。
・チャンネルを指定して、任意のコントロール番号とコントロール値のコントロールチェンジを送る。
・チャンネルを指定して、任意のコントロール番号でコントロール値として0と127をその度に入れ替えたコントロールチェンジを
送る。(エフェクトON/OFFなどを切り替えるのが目的)
・上記の動作を複数のスイッチに任意に割当て、その組み合わせをバンクの形で複数設定する。
・ペダル位置の情報をコントロール値として、リアルタイムにコントロールチェンジを送る。



以上の機能を実現したい。

それぞれの機能を個別に実現するのはそう難しくない。
問題は設定操作を含めた使い勝手だ。
たぶん、市販のものでこれを実現しようとした場合、
・チャンネル 
・プログラムチェンジ/コントロールチェンジの区別 
・プログラム番号、または、コントロール番号 
・コントロール値 (コントロールチェンジの場合)
をバンクごとに各スイッチに対して設定する事になるだろう。めんどくさいが汎用性は高い。

今回は、上記の項目をまずアクションとして別に設定しておいて、アクションをバンク毎に各スイッチに割り当てる方法をとった。
バリエーションは設定できるアクションの数で制限されることにはなるが、僕の用途ではそれほどたくさんは必要ない。
バンクごとに各スイッチに対して機能の組み合わせと配置を設定する操作がわかりやすくなるし、同じアクションを複数のバンク
に割り当ててあっても、アクションを編集することですべてが変更されるのは便利だ。

チャンネルに名前を付けて機器名を表示できるようにして、効果に対しても名前を設定できるようにした。"M5のコーラス" 的な
表示でアクションを表現できる。

上の写真は、バンク0のスイッチ3に割り当てたアクション番号8のM5のコーラスを呼び出したところ。
メモリーに制限があるので、20アクション、8バンクでチャンネル名に3文字、効果名に4文字を割り当てた。


いきなり完成した試作機だが、これを使って試験的にこんなボードを組んでみた。



エフェクターとしてはover drive の前にM5が繋がっているだけなのだが、M5を試作機でコントロールしてマルチに使える。
M5の右側のペダルは試作機に繋がっていてMIDIを介してM5をコントロールする。
右側にボードからはみ出してるスイッチも試作機に繋がっている。外付けの拡張スイッチだ。これを併せて、6個のスイッチが使
える。
それぞれのスイッチにフェイザー、フランジャー、コーラス、ディレイ、ワウ、ピッチシフター(ワーミーもどき)を割り当てた。

使用感は切り替えもスムーズであたかもそれぞれのエフェクターが個別に繋がってるような感じで違和感なく使用できた。一個
ずつしか使えないけどね。
OFFするときは本体のスイッチを踏むことになるけど、拍単位で小刻みにON/OFFを繰り返す使い方をするフランジャー以外では
特に大きな違和感にはならない。フランジャーはエフェクトOFFの状態で呼び出して本体のスイッチでON/OFFするようにした。
M5は、プリセットにエフェクトON/OFFも記憶されるのがうれしい。

ワウとピッチシフターはONを踏んでからペダルに踏み換える動作がどうもなじめない。特にワウは踏んだ瞬間からワウワウいっ
てほしい。純正ペダルでM5のワウが結構いい感じなのはわかってたけど、使う気になれなかったのはこれが大きい。
そこで、エフェクトOFFで呼び出しておいてペダルを動かせば自動でエフェクトONのコントロールチェンジを送るようにした。ペダ
ルをいっぱいに上げた時には自動でエフェクトOFFのコントロールチェンジを送る。再び踏み込めば自動でONだ。モーリーのス
ティーブヴァイモデルのような使い心地で気持ちいい。
Summer Nightsのようなトランストレム風に使う時も戻しきってピッチシフトなしの状態になったら勝手にOFFされるのがいい気分
だ。ただ、ピッチシフターはONに入れるときに少しクリックノイズが乗るのが残念だ。フレーズ中の1音アームアップなんていうの
もペダルでいい感じに出来るんだけど、その度に"プツっ"ていうのがちょっと気になる。これはMIDIとは関係ない元々の仕様の
ようなのでしようがない。
ワウでもピッチシフターでもペダル動作自体はスムーズでレイテンシーも感じない。


このボードは機能的には、そこそこ使えるものにはなったかな・・・。けど、効果としてはボードが多少軽くなる程度か。
モデュレーション+ディレイのように同時使用ができないデメリットはちょっと痛い。
大して省スペース効果も期待できないし、これだけスペースを割くならM9のほうがよくないか?という疑問も払拭できない。
ペダルを上げきったら自動でOFFする機能は結構よかった。ワウを使うためにM5を導入するという選択肢は微妙だが、本来の
M5の目的であるピッチシフターについてはメリットがある。だけど、この機能はワウに使うときのほうが気持ちいい。
M5はどのエフェクトも結構使えるが、フェイザーはちょっとエグすぎる。フランジャーはちょっと薄味。デジタルものとしてはよくで
きてると思うけど、ディレイとピッチシフター以外はどれも専用機に軍配が上がる。
ということで、試験的に組んだボードは試験で終わりそうだ。



G-Majorの併用も試してみた。チャンネルを指定して複数機器を使い分けるのは問題なくできた。
M5はMIDI OUTがあるけど、MIDI INで受け取った別チャンネルのメッセージを再出力してくれない。MIDI THRU端子がないとだ
めみたいだ。なので、一旦G-Majorに入れてからTHRU端子からM5へ繋ぐ必要がある。M5を足下に置いて、G-Majorをセンドリ
ターンにつなぐとするとMIDIケーブルが行ったり来たりすることになる。
アンプはまだ試してないんだけど、5150 III 50WにはMIDI INしかない。
複数の出力端子を用意した方がよさそうだ。

G-Majorで戸惑ったのは、タップテンポだ。タップテンポにはコントロールチェンジを二回送るわけだが、一回目と二回目でコント
ロール値を変えて送る必要があるようだ。マニュアルには明記されてなさそうだけどMIDIのタップテンポってそういうものなのだ
ろうか?M5は同じコントロール値で2回送れば認識してるみたいなのだが・・・。エフェクトON/OFF を想定したコントロールチェ
ンジで0と127を交互に送る機能を流用して対応できたが、そうじゃないとタップテンポに二つスイッチを用意しなければいけないところだ。
G-Majorはその他、MIDI経由でいろいろな制御ができそうなので面白そうではあるが、Van Halenをやっている限りは必要ない
かな。


今回用意した外付けのペダルだが、M-AUDIO のEX-Pだ。キーボード用のエクスプレッションペダルだけど千円ちょっとなのに
これは良かった。Line 6純正のエクスプレッションペダルは8千円以上するけど、僕のはペダル動作に引っかかる感じがある。
EX-Pは動作もスムーズで作りもしっかりしてる。あと2つくらい買っとこうかな。

今回使ったのはPIC16F1827でプログラムメモリが4kワード(4千個の命令が記述できる)、電源を切っても情報を保持できる不
揮発性のメモリであるEEPROMが256バイトだ。が、どちらも足らなかった。
プログラムはもっと効率的な記述のしかたがあるのかもしれないが、結局かなり制限した内容になってしまった。例えば機器名
効果名の編集機能だが、一応は作ったけど、ばっさり割愛してあらかじめEEPROMに書き込んであるのを選択する方式にした。
ペダルコントロールのチャンネルやコントロール番号も可変にしたかったが固定にしてM5専用にした。
EEPROMの容量はこのクラスのPICではたいてい256バイトまでの仕様だ。8ビットでアドレスを記述できる範囲という意味だろう
。だけど、名前の字数ももう少し増やしたいし、バンクに名前を付ける機能もあれば便利かもしれない。アクションやバンクももう
少し増やしておきたい。だいたい、MIDI対応のスイッチャーを想定した場合、スイッチャー機能に割り当てる分がまるごと不足す
ることになる。EEPROMの専用チップを導入しないといけないみたいだ。



この試作機でできることは、市販のものでも横にスイッチが6個くらい並んだフルサイズのMIDIコントローラなら多分できるんだ
と思う。
だけど、コンパクトエフェクターサイズのMIDIコントローラでは、大抵チャンネル固定のプログラムチェンジだけで、コントロールチ
ェンジは送ること自体ができないのがほとんどだ。(できるのはOne Controlの Basiliskくらいでは?)ペダルコントロールができ
るものとなるとないんじゃないかな?
試作機だが、まあそれなりのものになったと思う。
いろいろ確認できたし。
だけど、実際に使うとなると試験ボードのように帯に短しタスキに長しといった感じが拭いきれないなあ。市販されないのも納得
か?

まあ、いいんだ。試作だから。


TOP
六弦くんへメール アルSさんへメール NKJへメール