楽器DIYのススメ。世界で一つだけのDJ用コントローラの自作にチャレンジしてみよう!

お金はないけど時間はあるというDJで、自分仕様にカスタムしたDJギアが欲しいと思っている方はいませんか?それなら、MIDIコントローラをDIYしてみましょう!

MIDIコントローラは、1万円前後で作れてしまいます。ここでは、DJ必見の情報を配信するアメリカの人気メディアDJ Techtoolsで紹介されている、DIYでMIDIコントローラを作成する方法を紹介します。まずは、詳しい作り方について、Kyle Mohrによる動画をご覧ください。

出典:YouTube

DIY MIDIコントローラの製作に必要な物

パーツ

  • Teensy 2.0ボード
  • Teensy USBアダプター
  • ジャンパーワイヤ
  • フェーダー固定用ネジ(M2 – 0.4 x 6mm)
  • 5mm LEDまたは抵抗入りLED
  • 220 Ω 1/4W 1%金属皮膜抵抗
  • 24mm Sanwa押しボタン
  • DJ TechTools Chroma Caps
  • B10k Dシャフトポテンショメータ
  • B10k フェーダー(直線型ポテンショメータ)

ケース

  • 木製の箱
  • ゴム足

ケースの仕上げ

必須ではありませんが、以下の材料を使用することで仕上がりがキレイになります。

  • プリステイン(着色剤の前処理剤)
  • 着色剤
  • ウレタンニス
  • 雑巾
  • 手袋
  • 刷毛

ツール

道具が揃っていない場合は、1万円の予算を超えてしまいますが、その他の場面で使うことができるので、アマゾンやeBayで安く買い揃えてしまうのも良いと思います。

  • はんだごて
  • ロジンコア(ヤニ入り)はんだ
  • フラックス
  • ドリル
  • ヤスリ
  • ドリルビット
  • 24mmもしくは1インチ・スペードビット
  • 液体テープ
  • ゴリラグルー
  • ペンチ
  • プライヤーセット
  • スクリュードライバーセット(小)
  • グルーガン
  • グルースティック
  • 小さい弓のこ
  • カッター
  • ロータリツール 木工用ビット付
  • 紙ヤスリ

電子工作に必要なツールについては、こちらの動画をチェックしてみてください。

出典:YouTube

1. デザイン

下部の写真はメモ帳に適当に描いたデザインの原画です(左)。見ての通り、かなり雑でひどい出来ですが、作りたいレイアウトが大体わかればOKです。この後、Adobe Illustratorで設計図を作成します。PDFまたはEPSファイルは、こちらからダウンロードすることできます。 4つのポテンショメータ、フェーダー、ボタンを用いた設計図ですが、もちろん他の部品を使って構いません。

original-design-diy-midi-fighter-640x287

ボタンには、1インチもしくは24mmの木工用スペードビットが必要で、ポテンショメータには5/16ビットを使った方が良いでしょう。部品間には十分なスペースを確保することが重要です。スペースが足りないとケースが壊れてしまったり、はんだ付けが困難になってしまいます。定規で測りながら等間隔で、穴を開ける目印をケースの後ろ側や、目立たない内側に付けていきます。

2. ケース製作

レイアウトを決めたら、次はケースの製作に取り掛かりましょう。ケースの素材は、昔のVHSテープ、プラスチックの弁当箱、昔のテレビゲームのカートリッジ、木箱など、何でも大丈夫です。DYIの醍醐味は、お金の節約や機械の仕組みがどうなっているのか知ることの他に、自分に合ったオリジナルを作ることができるというのが一番ですからね。

ドリルで穴を開ける前に、部品と間隔の幅を測るのを忘れないように!

ケースの素材が薄い木材やプラスチックの場合、穴を開ける時に壊れる恐れがあるため、ドリルビットは一番小さいサイズから開けたい穴のサイズの間で、6~7個ほど選んで順番に使うようにしましょう。

LED用の穴については、こちらのページ(英語)が参考になります。(”Making holes if needed”を参照)

素材が壊れたり、ヒビ割れたりしないように、ゆっくりとサイズを広げていく工程の詳細な情報が載っています。大切なことは、まずゆっくりとしたスピードで穴を開け始め、少しずつ進めていくということです。もし作業途中でヒビ割れたり欠けたりしたら、素早く手を止め、ドリルの回転方向を反対にしてみましょう。ドリルを逆回転させて、ヒビ割れ部分をクリーンアップしてみてください。

building-case-640x325

ドリルで穴を開け、切り出し作業が済んだら今度は仕上げです。仕上げ前の状態は、大体見た目がひどいものです。ポイントはやはり、ゆっくり進めることです。内側にマークをつけて、下に捨て板を敷いて穴を開けると亀裂が入りづらいくなります。

素材を、木ではなくプラスチックを選んだ場合は、かなりの時間短縮になります。プラスチックのギザギザした部分を、ヤスリで綺麗に仕上げれば完了です。

stained-640x429

イケてる木製ケースを作りたい!

安い木材を買った場合、ケースが安っぽく見えるのが難点です。しかしそれを解決し、あたかも高級家具のように見せてくれる魔法のアイテムがあります。それは着色剤(ステイン)です!

  • 着色剤の前に、着色ムラを防ぐため、前処理剤(プリステイン)を塗ることをオススメします。
  • 前処理剤を塗った後、5分~15分経ったら着色剤を塗ります。布に着色剤をつけ、塗っては拭き取る作業を何度か繰り返します。そうすることでビンテージっぽい仕上がりになりますが、しっかりとした仕上がりにしたい場合は、拭き取らず、多めに塗りそのまま乾かします。
  • 1日置いて乾燥させた後、ウレタンニスを刷毛で塗ります。傷がつくのを防ぎ木材の強度も上がるため、全ての面に塗装を施します。木目の方向に塗ると良いでしょう。
  • 24時間乾かし、自分好みの仕上がりになるまでウレタンニスを塗る作業を何度か繰り返します。3回の塗装(間にそれぞれ24時間乾燥させる)をお勧めします。
  • 塗り終えたら、最後に72時間放置して完全に乾燥させます。完全に乾燥していないと、部品がくっついてしまうので、ご注意を!

3. 部品(コンポーネント)

ケースが完成したら、次は部品取り付けです。ボタンはそのまま取り付けられるはずですが、場合によっては裏側にナットなどで固定が必要だったりします。(もし引っかかる場合は決して無理にはめようとせず、ヤスリで穴を削ってください)

IMG_1232-e1440556385393-640x491

ポテンショメータのつまみは、ウォッシャーとナットと一緒に取り付けると、多少ガタついた穴でもカバーできます。プライヤで締めます。フェーダーの場合、上に1番(パワー)が来るようにし、2番にはシグナル、3番はグランドになるように設置します。(モデルにより違いがあるためブレッドボード上でテストしてみましょう)

そしてM2ネジで表カバーに固定します。部品を守るため、つまみとフェーダーにはChromaCapsを使うと良いでしょう。(どのキャップでもいいですがChromaCapsがお勧めです)

LEDを取り付ける場合、表カバーを裏返し、表側でLEDの先端部分が見える程度に埋め込みます。うまくはまらない場合は、ヤスリで調整しましょう。次に、楊枝を使ってLEDの円周に沿って木工用接着剤(ここではゴリラグルー)を塗り、接着します。LEDのプラスチック部分が溶けるため、ホットグルーは使わないようにしてください。

4. 部品のはんだ付け

接着剤が乾いたら、次ははんだ付けの工程に入ります。これにより全てのパーツがつながり、パソコンやiOSデバイス上でも使えるようになります。
まずロジンベース(ヤニ入り)のはんだ用フラックスを用意します。(鉛ベースより安全です) ここでは、0.5mm 63/37ロジンコアワイヤーを使っています。

はんだ付けが初めての場合、YouTubeに多くのチュートリアル動画があるので、参照してください。

出典:YouTube

実際やってみると難しくなく、誰にでもできます。焦らずじっくり取り組むことが重要です。

soldering-components-640x325

はんだごてを熱し、ジャンパーワイヤ(線)を準備します。ジャンパーワイヤは、普通のワイヤーよりも使い勝手が良く、先端がピンヘッダのように細くなっており、穴に通しやすいです。Teensyボードとケースに収まるよう、90度に折り曲げ、先端の1/4ほど短くしておくと良いかもしれません。

はんだ付けは、上から始め、下に向かって進めていきましょう。まずジャンパーワイヤの長さが足りているか確認します。この時、暗い色(黒や青)はグランド(アース側)に、明るい色(赤・オレンジ・黄)はパワー側に、中間色(緑や白)はシグナル(信号系)にといった感じで、ワイヤーの色分けをしておくとわかりやすいです。

Dシャフト可変抵抗器の場合、ピンが下になっていないとつまみが正しい方向に動かないため、きちんと確認しましょう。

Potentiometer-Guide-640x360

ポテンショメータは3つのラインがあり、それぞれグランド(GND)、アクティブ(どこの位置にあるか判別するアナログ信号)、電源です。大抵この順番で配置されており、4つ目のピンはただのダミーで、今回は使いません。

Teensyボードには電源とグランド一つずつしかはんだ付けする箇所が無いため、グランドと電源はあらかじめ繋いでおくことが必要です。次に、最後のつまみから最初のフェーダーへ電源とグランドをつなぎます。下記の写真を参照してください。

Fader-Guide-640x353

その次は、最後のフェーダーからボタンに、グランドだけつなぎます。ボタン上のもう一つの先端はアクティブ(信号)ラインです。

Buttons-Guide-640x360

各部品(ボタン、つまみ、フェーダー)からのアクティブラインをはんだ付けします。Teensyボードには、基板をプログラムミングする際、スケッチを使ってアクセスするプルアップ抵抗が組まれています。そのため、ボタンのアクティブラインには抵抗をはんだ付けする必要はありません。

次は、220Ωの抵抗をLEDの電源ピン(+)にはんだ付けをします。これにより電圧が高すぎる場合に焼損するのを防ぎます。そして抵抗の反対側を、一番近くにあるつまみかフェーダーの電源ピンにつなぎます。そして、LEDの短い方のグランドピン(-)を、近くのつまみかフェーダーのグランドピンにはんだ付けします。

LED-Guide-640x243

最後に、つまみとフェーダーのアクティブライン全てを、アナログピンA0-A7につなげます。そしてボタンからのアクティブラインは、ボードの反対側のデジタルピンB0-B3につなげます。

grounds-640x243

5. MIDIコントーラのプログラミング

Teensyduino(Arduino+Teensy)のセットアップ

Teensyduinoは、Arduinoプログラミング環境でTeensyボードを使えるようにする、Arduinoのアドオンです。まず始めに下記の通り準備しましょう。

Arduinoソフトウェアのダウンロード

TeensyduinoとArduinoは、それぞれバージョンによって互換性が違うので注意しましょう。各対応バージョンについてはTeensyduinoダウンロードページに記載されています。2016年6月の時点では、Teensyduino 1.28は Arduino versions 1.0.6、1.6.3、1.6.5、1.6.6、1.6.7、1.6.8.に対応しています。1.6.9についてはベータテスト中です。

Teensyduinoをダウンロード

インストール方法に従いインストールします。ライブラリも忘れずにインストールしてください

Teensyローダをダウンロード

Step1:TeensyボードをパソコンのUSBポートに差し込みます。するとTeensy上のオレンジ色のライトが点滅しますが、これは”ブリンク”スケッチと呼ばれ、あらかじめ組み込まれたものです。

Step2:メニューバーをクリックし、Tools→Board→Teensy2.0へ進む

Step3:同じくメニューバーから、Tools→USB Type→MIDIを選択

Step4:スケッチファイルを開きます。今回、作成したコードは、こちらからダウンロードできます。このスケッチは8個のアナログポテンショメータ(フェーダーはポテンショメータとして認識されています)と4つのデジタルボタンにセットされています。作ろうとしているポテンショメータの数が違う場合は、その数に合わせて下記箇所の数字を変えるだけで変更できます。

change-analog-inputs-640x242

ボタンの数を追加する場合は、多少手間はかかりますが難しいことではありません。Screen-Shot-2015-08-25-at-Aug-25.26.18-PM-640x316
Step5:アップロードボタン(右矢印)をクリックして新しいコードをアップします。初回のためArduinoからTeensyのリセットボタンを押すようメッセージが出てきますので、それをクリックするとアップロードが開始されます。

upload-teensy-640x221

このコードはDIY MIDIエンジニア/ミュージシャンのOtem Rellikが作成したスケッチをベースにしています。以下が、全コードです。

#include

// define how many pots are active up to number of available analog inputs
#define analogInputs 8
// make arrays for input values and lagged input values
int inputAnalog[analogInputs];
int iAlag[analogInputs];
// make array of cc values
int ccValue[analogInputs];
// index variable for loop
int i;

// cc values for buttons
int cc_off = 0;
int cc_on = 65;
int cc_super = 127;

// map buttons to cc for button
int cc0 = 51;
int cc1 = 52;
int cc2 = 53;
int cc3 = 54;

Bounce button0 = Bounce(0, 3);
Bounce button1 = Bounce(1, 3);
Bounce button2 = Bounce(2, 3);
Bounce button3 = Bounce(3, 3);

void setup() {
// MIDI rate
Serial.begin(31250);
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
}

void loop() {
// loop trough active inputs for knobs
for (i=0;i<analoginputs;i++){ // read current value at i-th input inputAnalog[i] = analogRead(i); // if magnitude of difference is 8 or more… if (abs(inputAnalog[i] – iAlag[i]) > 7){
// calc the CC value based on the raw value
ccValue[i] = inputAnalog[i]/8;
// send the MIDI
usbMIDI.sendControlChange(i, ccValue[i], 3);
// set raw reading to lagged array for next comparison
iAlag[i] = inputAnalog[i];
}
delay(5); // limits MIDI messages to reasonable number
}

// Push Button code
button0.update();
button1.update();
button2.update();
button3.update();

if (button0.fallingEdge())
{
usbMIDI.sendControlChange(cc0, cc_on, 3);
}
if (button1.fallingEdge())
{
usbMIDI.sendControlChange(cc1, cc_on, 3);
}
if (button2.fallingEdge())
{
usbMIDI.sendControlChange(cc2, cc_on, 3);
}
if (button3.fallingEdge())
{
usbMIDI.sendControlChange(cc3, cc_on, 3);
}

if (button0.risingEdge())
{
usbMIDI.sendControlChange(cc0, cc_off, 3);
}
if (button1.risingEdge())
{
usbMIDI.sendControlChange(cc1, cc_off, 3);
}
if (button2.risingEdge())
{
usbMIDI.sendControlChange(cc2, cc_off, 3);
}
if (button3.risingEdge())
{
usbMIDI.sendControlChange(cc3, cc_off, 3);
}

}

6. 仕上げ

接続テストをする前に、ペーパータオルと綿棒、消毒用アルコールではんだ付けの残りかすをキレイにふき取ります。こうすることで後々基板とつなぎ目が腐食するのを防ぐことができます。

アルコールが乾いたら、配線同士が引っかかってショートしないよう、配線を保護する作業に移ります。保護するにはいくつかの方法があります。結束バンドでシンプルに束ねるか、ホットグルーで覆ってしまうか、収縮チューブを使うか(完全にフィットしないこともある)、それとも液体絶縁テープをブラシで塗るか(入り組んだ箇所も結構やりやすい)です。もし液体絶縁テープを使用するなら、風通しの良い場所で作業してください。

配線の保護が完了したら、ボードに電流を流してみましょう。LEDが光り輝いていますか?(煙は出ていませんよね?)DAWを立ち上げ、TeensyがMIDIデバイスと認識されていることを確かめます。DAW上でそれぞれのパーツをマッピングし、MIDIシグナルが送信されたか見てみましょう。確認できたら成功です!

rear-of-midi-diy-controller-640x288

最後にMIDIコントローラーの蓋を閉じます。ケースに基板を固定するやり方はたくさんありますが、ケースの底にホットグルーを多めに敷く方法が良いと思います。固定されたら、ケースから出ているアダプターを差し込み、蓋をして閉じます。

7. 完成

Screen-Shot-2015-08-25-at-Aug-25.29.55-PM

とうとう自作MIDIコントローラの完成です。どうぞお友達に自慢して、作ったMIDIコントローラの写真をSNSで投稿してください!(@DJTechToolsと、@soundropeのタグをつけてくださいね)

このDIY MIDIコントローラは、DJ TechTools Midi Fighter3DJTT Midi Fighter Twisterを参考にしています。

ガイド&デザイン:Kyle Mohr
ビデオ&編集:Alex Medvick

記事ソース:DJ Techtools