Ableton Liveでの音源送出を考える(3) | 音響・映像・電気設備が好き

音響・映像・電気設備が好き

「ヒゲドライバー」「suguruka」というピコピコ・ミュージシャンが好きです。

 

 

残された道はただひとつ、MIDIコントローラの自作と言うことを理解したのが前回です。

 

色々探しました。価格が安い、作りやすい、知識がなくても設定が変えられる、これらを満たすものを探し行き着いたのは、Highly LiquidのDIY MIDI ControllerシリーズのMIDI CPU & MD24。とりあえず試してみることにしました。

 

 

イメージ 1
Highly Liquid MIDI CPU。接点やVCAの値からMIDI信号へ変換するボード。
使用チップ:MICROCHIP PIC16F887
※PICなのでデータシートへのリンクはしません(笑)

 

 

イメージ 2
Highly Liquid MD24。MIDI信号からロジックやサーボ出力変換するボード。
使用チップ:MICROCHIP PIC16F1939

 

 

両方とも、PICへのベースソフトは書き込み済みで、シンセサイザの様にMIDI Sys-Exコマンドだけで設定の変更が可能です。これが最大の利点です。ArduinoとMIDIシールドでは到達することのできなかった簡易さです。(負け惜しみか)

 

参考リンク:Highly Liquid STORE

http://www.highlyliquid.com/

 

 

イメージ 3
PayPal決済でアメリカから送られてきました。この時は注文から一ヶ月要しました。
MIDI CPUの基板の美しさは良いですね・・・これはちょっと気分が高揚しました・・・

 

 

イメージ 4
MIDI CPUをテストしてみる。当たり前ですがあっけなく動作。

 

 

イメージ 5

 

イメージ 6
MD24でLiveからLEDを点灯させてみるテスト。5Vロジック出力がデフォルトなのでそれをそのまま使うことにしました。内照式ボタンで5Vタイプを選定すれば良いだけですのでこれはとても楽です。

 

これでボタンを押し音源を再生、音源が再生したらボタンが光るが実現できる事が分かりました。

 

コントローラの外観ですが、novation LaunchPad miniではスペースの都合が・・・というのがあったので、TASCAM RC-SS20リモートコントローラを参考にしました。但し、こんなに薄くは作れません。

 

 

イメージ 7
TASCAM RC-SS20リモートコントローラ。
実機分解しましたが、恐らく、マトリクス接続のシリアル通信なのですよね。コレを改造できればなんて考えが当初ありましたが、断念。
 
 
イメージ 19
TASCAM RC-SS20の内部基板。

 

 

参考リンク:TASCAM TEAC PROFESSIONAL RC-SS20商品紹介ページ
http://tascam.jp/product/rc-ss20/

 

 

イメージ 8
設計してみた。

 

 

イメージ 9

 

イメージ 10

 

イメージ 11
作ってみました。2つ目はもっときれいに作ります・・・・

 

いきさつとか苦労とか書いても仕方がないので書きませんが、本当に多くの時間を費やしました・・・。

 

 

イメージ 12

 

 

イメージ 13
というわけで完成です。

 

 

実際に稼動させている様子です。

参考動作動画。※音声はありません
ちなみに、ボタンはIDECのもので、実際は押し込んだ瞬間にカチっという音がします。これはTASCAM RC-SS20でも同じです。静音性を求められる場合はMIDIパッドの方が良いかもしれません。

 

 

本体が完成したので、MIDI CPUのデフォルト仕様を調べました。Liveでポン出しコントローラとして使う分にはデフォルトの設定で問題ありません。また、MIDI CPUとMD24はデフォルトでノート番号アサインが同じなのでタリー返しも特に悩む必要がありません。単体でのボタン点灯試験は、MIDI CPUのMIDI OUTとMD24のMIDI IN間をショートさせることで行えます。

 

イメージ 14
Studio Oneでノートを拾ってみる。音名と16進数の対比は表がないと難しいですね・・・
ちなみにメッセージの頭の「90」は90hでノートオン、次の2桁は音名、その次の2桁「00」or「7F」がベロシティで、00hはノートオン・ベロシティゼロで「ノートオフ扱い」、7Fhは10進数の127でつまり最大値です。最後の2桁は・・・何でしょう(笑)次項のBome's Send SXで最終的に解析を行いましたが、こちらには表示されないので改行コードですかね?

 

 

イメージ 15
MIDI Sys-ExコマンドはBome's Send SXなどで送ることが可能です。(今回の用途では設定を変更する必要なし)

 

参考リンク:Bome Software: applications for musicians and developers. everything sounds.
http://www.bome.com/products/sendsx
※商用ユーザは有償ですのでご注意を!

 

 

イメージ 16
MIDI CPUのデフォルト状態へ戻すMIDI Sys-Exコマンド。※下記リンクにテキストデータあります

 

 

ただ、もし万が一何かがあって、本体設定を書き戻さなくてはならなくなったときの場合に備えて、MIDI CPUのデフォルト状態へ戻すMIDI Sys-Exコマンドを記述しました。メーカからこのボードのサポートを受けるためにも公開しておきます。(そもそも、サポートフォーラム用にここに書いています)
※MD24のMIDI Sys-Exコマンドは調べていません。が、どうせ似た法則だろうな(笑)ということで応用して下さい。
※元に戻せますので、書き換えて遊んでも大丈夫です(笑)

 

■MIDI CPU用のデフォルトリセット用Sys-Exと一覧■
http://www.holycater.sakura.ne.jp/zip/MIDI_CPU.zip

 

ここまで出来ればあとはMIDIパッチャを使って複数台でも同期(厳密には頭合わせのフリーラン)させることが可能です。タリー信号もメインとサブでテンポを分けて(サブはメインの裏拍を打つ)、マージさせてコントローラに返せば解決です。メインがダウンすればそもそも音が出ませんし、ボタンの点滅パターンでサブが生きているか分かります。
MIDIパッチャって今はないよなぁなんて思っていましたが、novation LaunchPad miniのUSB MIDIからDIN MIDI変換の試験で買ったiConnectivity iConnectMIDI4+がなんとそのままMIDIパッチャとして使えることに気がつき、これも現行品で解決することが出来ました。

 

 

イメージ 17
iConnectivity iConnectMIDI4+

 

とりあえずこれにておしまい、というわけです。

 

今回、事の発端から、MIDIコントローラ選定、挫折、MIDIコントローラ作成するに当たり、Twitter上で音響フォロワさんに非常に助けられました。とても感謝しています。こういった文章を残すことで少しでも恩を返せれば良いのですが・・・

 

おまけ

イメージ 18
MIDI CPUのデフォルトパラメータです。この表のエクセルも上記のリンクに含まれています。

 

 

MIDI CPUを1枚使ってMIDI信号を送出するだけのコストを抑えたコントローラの作成「MIDIコントローラの作成2(4)」はこちら