これまでの【MIDIコン・バカ一代】 → 初回|第2回|第3回|第4回
さてケースに関しては色んな作り方があると思うのですが、一応僕の経験をシェアさせて頂きます!
LAに住んでいた頃にArduinoと出会ってMIDIコントローラーのプログラミングを始めたのですが、同じ頃に3Dプリンターが身近なものになってきたんですね。2017年にはアメリカの効率の図書館に3Dプリンターが設置されたりして、図書館に申請すると一般の人でも使えるという、なんともアメリカっぽいな〜と思って記憶があります。
LAのどでかいワインショップがあるのですが、そこで葉巻売り場があって葉巻用の木の箱を「勝手に持って行っていいよ」的に置いてあったので、その木の箱を加工して使ったり、秋葉原でも売ってる電子工作用のケースを加工して使ったりもしました。そのうち近所に3Dプリンター屋ができたので、そこに注文して2日後くらいにピックアップするというのを数回やりましたが、出来上がって3Dの設計ミスに気がついたり、一回100ドルくらいするので安くもないし、、、と思ってたら「Flashforge」というメーカーが「Finder」という家庭用のプリンターを400ドル程度で発売したんです。それで何度もそのプリンター屋に注文するくらいだったら、Finder買った方いいなと思って3Dプリント始めました。
そこからコントローラーの筐体はもちろん、フェーダーのノブも作ってみたりいろいろ試行錯誤しました。楽しかったですけどね。フェーダー同士の間隔や、筐体に傾きつけたらどうかなとか、15mmや30mm、45mmと色々試してみて、仕事で使ってどれがオートメーション描きやすいかいろいろ試しました。
そんな試行錯誤のなかで得たケース作り、基本の手順は以下のとおりです。
どのパーツを買う時も「Data Sheet」と呼ばれるパーツの寸法が書いてあるPDFのリンクがあるはずなので、それを入手して寸法の確認をします。
今回は秋葉原の秋月電子通商で入手した45mmのパーツを例に解説します。
https://akizukidenshi.com/catalog/g/g109238
まず、スライドボリュームの上下にM2というサイズのネジ穴があるので、これでスライドボリュームを固定します。このネジも秋月電子通商やその数軒となりの千石電商で買えます。
このプリントモデル、スライドボリュームがあたる部分がトップよりも少し深さがありますよね?これはトップ面からスライドボリュームの軸(?)をどれくらい出すかによって決めます。トップ面からあまり軸を長く出すと、トップ面とフェーダー用のノブと距離が開いて操作する時にグラグラする原因になります。見栄えも悪いしね(笑)
次に表からみるとこんな感じですが、スライドボリューム用のネジのところが凹んでますよね?これはネジの頭がトップ面よりも少し下に埋没させる事ができるので、フェーダーノブの邪魔になりません。ノブをできるだけトップ面に近づけたい人はこの方法をおすすめします!
これをプリントアウトして、パーツのはまり具合を確認します。割と押し込んでカチっとはまるくらいが良いですね。そしてフェーダーの軸を前後にスライドさせた時ぶつからないかとか、逆に軸の左右にあまり余裕があり過ぎてもグラ付きの原因になるので、適当な間隔を探してください。1回目のプリントから成功するといいのですが、、、多分なかなかそういうわけにもいかないと思います(笑)。ただこれができちゃえばほとんど完成したも同然ですから頑張ってください!
色んなモデルの作り方があるのですが、僕はこんな感じで、ソリッドな部分とくり抜きの部分を別々に作って最終的に合体させる事が多いです。
これだ!というものができたら、あとはフェーダー3個分複製して並べればよいだけです。劇伴で使うCC01とCC11を併用して使う場合は割とフェーダー同士の間隔が狭い方が僕は好きですが、まあお好みですね。
3個並べて、こういうケースに入れました的な感じにレイアウトして、4隅にブロックを置きます。底辺にボトム用のパネルが来るので、その分(2mmくらいかな)はちょっと下げときます。
このコーナーに、インサートナットというパーツを買って埋めます。ボトム面からのネジの受けに使うわけですね。インサートナットはアマゾンでも買えますよ。M3(3ミリのネジ)という径がよいと思います。これをどうやってケースに埋めるかというと、、、ハンダゴテでインサートナットを押し込んでその熱が3Dプリントしたケースに伝わって樹脂がとけて、ズブズブと埋まっていきます。面白がって押し込みすぎないようにね!
次はフェーダーを”仮で”ネジ止めしていきます。何故仮かと言うとケースに入れたままハンダ付けすると、3Dプリンターで作ったケースにハンダゴテが当たってケースを溶かしちゃったら悲しいからです(笑)
注意すべきは、長すぎるネジはフェーダーボリュームに必要以上にあたりすぎる場合があって、最悪パーツの底辺まで届いちゃったりするから、長さは注意が必要です。それと過度にネジを締めすぎるとフェーダーの動きに影響する事があります。「フェーダー突き上げた時に詰まる感じがするなあ」と思ったらネジの締めすぎかもしれません。ケースの設計にもよるんだけど、M2という径の10mmくらいで大丈夫だと思います。千石電商とか、モノタロウ等のオンラインでも入手可能で。”スリムヘッド”で検索するとネジ頭部分が平らなネジが見つかると思いますが、それがお勧めです。
さて、フェーダーがケースに問題なく装着できることを考えたら、一旦フェーダーはケースから外して、実際にハンダ付けしていきます。リード線は秋葉原で手に入ります。こういう10色がセットになっているものを買うのもありですね。
https://akizukidenshi.com/catalog/g/g110672
だいたいこういう配線は、黒がGND、赤がVCC/+電源と相場が決まってます。そして黄色や白が信号線(実際にボリュームのデータのやり取りに使う)ってとこですね。まあ、黒と赤以外は自分が見やすければいいと思います。
ここでArduino Pro Microのピン配置のおさらいです。今回はこの向きで右側にしかハンダづけしません。各フェーダーのGND(今回の部品だと3番)からのリード線をまとめて(クルクルと捩ってください)GNDへ接続。同じく各フェーダーのVCC(1番の端子)からのリード線もまとめて、Arduino Pro MicroのVCCへ、3本のフェーダーの読み取り(2番の端子)は、それぞれArduino Pro MicroのA0、A1、A2へ接続します。
配線の際、あると便利〜なのが熱収縮チューブで、ハンダ付けした端子のところにこのチューブをかぶせて、ハンダゴテで温めると収縮して見た目がキレイになります。
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=6AU5-K4EA
ハンダ付けが全て済んだら組み込みです!
Arduino Pro Microへ接続するUSB-Cケーブルは最近ちょいちょい見かける網編みのケーブルが柔らかくて取り回しがいいです。さらに写真のようなUSB-C オスーメスのL字コネクタがアマゾン等でも売っているで、それでこの写真のように接続してもいいかも知れませんね。
Amazon|usb変換アダプター usb c l字 タイプcアダプタ 2個セット
あと、裏面にすべり止めのゴムやシリコンを貼るとフェーダーが使いやすくなります。
ここからは修正作業に入ります。
まず、フェーダーの動きが一般的なそれとは逆、フェーダーを上げるとMIDI CCの値が127から0へと動いた人もいるかと思います。これは物理的にフェーダーの向きを反対にして付け直すのも間違ってはいないのですが、プログラミングで修正しましょう。
現在のコードの中に
int midiValue = map(rawValue, FADER_RAW_MIN, FADER_RAW_MAX, 0, 127);
という行があります(96行目くらいのはず)。
この最後の0, 127を127, 0としてアップロードしてください。これだけでフェーダーの動きが通常の動きになります。
それからキャリブレーション設定を見てください。
const int FADER_RAW_MIN = 18; // 測定した最小値(理論的な最小値は0)
const int FADER_RAW_MAX = 930; // 測定した最大値(理論的な最大値は1023)
この数値を調整すると、フェーダーの下から上へ動かし始めた時にCCデータを送り始める位置が微妙に変わります。この辺はお好みで。
キャリブレーションが済むと、デバッグ用のシリアルモニタは必要がなくなります。
プログラムの最初の方に、
const bool DEBUG_MODE = true
という行があります。このtrueをflaseに置き換えてください。そうするとシリアルモニタの動作はしなくなります。それほArduino Pro Microに負荷はかかっていませんが、必要ないものは動作させないようにしましょう。
これでとりあえず完成なのですが、ここからが自作MIDIコントローラーの面白いところなんです。
先ほど、CCデータの増減を127〜0から0〜127にしましたが、ソフトシンセのメーカーU-he社のZebraや、Synapse Audio SoftwareのThe Legendといったシンセのプリセットには、CC01のデータが127〜0に変化するとフィルターが開いていくプリセットがかなりあります。僕の感覚だと、モジュレーションホイールやフェーダーを上げるとフィルターが開いていく方が自然に感じるんですが、、、まあプログラマーの好みなんでしょうね(笑)
もしそういうプリセットを多く使うのであれば、毎回エディット&セーブするのも大変だし、かといって違和感のある動作をなん度もしたくないし、、、であれば、例えばこの3本のフェーダーのうち、1本はCC01を0〜127、もう1本はCC11、そしてもう1本はCC01を127〜0で生成する、という風にプログラミングもできるんです。
またポップス系のアレンジでストリングスのオートメーションを書くときにCC01はダイナミクスレイヤーの乗り換えのために、0〜127の間で変化させたいけど、CC11の下限を127〜50で止めたい、、、というアレンジャーもいます。普通のMIDIコントローラーであれば、2本のフェーダーを上下させて、CC11だけを途中で止めれば良いんですけど、意外と面倒ですよね?
その場合は、CC11のフェーダーの下限を50にする事もプログラミングによってできるんです。そうすれば、2本のフェーダーを一緒に上下させるだけで、CC11だけは50以下には下がらないデータが書けます。
他にもできることはアイディア次第です。それに大元のプログラムがあれば、ChatGPTやGeminiにまるっと放り込んで、プログラムの改訂をお願いすればかなりの精度で改訂してくれます。いや〜いい時代ですね!
自作MIDIコントローラーの記事はこれで終わりです。ネット上にArduino系のマイコンを使った記事はたくさんありますから、興味を持ったら自分の作業の効率が上がるようにコントローラーを自作してみてください!
最後に、1本ごとに機能を編集しやすくしたプログラムも用意しました。これでよりカスタマイズが容易になると思います。
Three_Faders_DIY_MIDI_Con_rev1ダウンロード
※ZIPファイルを解凍後、フォルダ内にあるThree_Faders_DIY_MIDI_Con_rev1.inoがプログラムファイルになります
※自身の経験に基づいて記載をしています。パーツ購入/組立てや自作機の利用で生じるいかなるトラブルも責任は負いかねます。実施においては自己責任のことご了承ください。
シリーズ記事【MIDIコン・バカ一代】