見出し画像

『天国、それともラスベガス』のピッチフェーダー:PCDJ用MIDIコントローラーをArduinoで自作する(その①:立志編)

ガジェットは作れる。「かわいいは作れる」みたいに言いましたが、ガジェットが好きで・ガジェット多めに自宅デスクをチューンしてきた僕が、そのガジェット好きがさらに高じて、自分の理想とするガジェットを作りたくなってしまうのは、自然な流れだと言えましょう。

前回作ったVUメーターに続いて今回作ったガジェットは、PCDJ(ノートPCを使ったDJ)用のコントローラーです。僕はハウスミュージックラウンジ『秋葉原住宅』の棟梁としてDJ活動もしていて、すでにドイツfaderfox社の「DJ3」というコントローラーも持っていましたが、そのコントローラーではできない操作をさせる、新たなコントローラーを作りました。

自作のMIDIコントローラー。実際やってみたら結構かんたんに出来た上に、製作過程もめちゃくちゃ楽しく、最終的にも自分専用のコントローラーとして大変使いやすく気持ちいいものが出来ました。そんなコントローラーの製作記をお届けします。

1. きっかけは1本の動画

今回コントローラーを作るきっかけになったのは、twitter経由で知ったこのtofubeatsの動画でした。楽しくDJプレイする彼は、イタリア生まれのプログラマブルな小型マイコン・Arduino UNO(アルドゥイーノ・ウノ)と、秋月で買ってきたケースやスイッチを組み合わせて、彼オリジナルのDJコントローラーを作っていたのです。

えー、MIDIコントローラーって作れちゃうんだ! 羨ましい! それだったら僕にも作りたいコントローラーがあるよ! 作ろう!!

そして、検索と調査と試行錯誤の末にたどり着いた完成品がこちらです。名づけて『SL1200 USBMIDI-Fader MK2』。およそ1ヶ月弱で完成しました。こうして新たな自作のガジェットが、ガジェット多めの僕のデスク『天国、それともラスベガス』に加わったのです。

画像12

2. コントローラーに何をさせるか?

PCでDJをする以前、90年代から00年代の中盤くらいまでの間、僕はアナログレコードでDJを楽しんでいました。アナログレコードでのDJは、コンピューターが介在する余地がなく、完全なるマニュアル操作で行います。テンポが違う2つの曲を同時にかけたいとき、そのテンポの違いを自動であわせてくれるコンピューターはありません。

ではどうするかというと、ターンテーブルの右下にある縦のピッチフェーダーを使って+8~-8%の間でレコードの回転速度を変える「ピッチ合わせ」という操作で、2つの曲のテンポを合わせるのです。

画像12

今フロアに流しているレコード(A)をヘッドフォンで聴きながら、次にかけたいレコード(B)をスタートさせる。Bのほうが遅いなと思ったら、ピッチフェーダーでテンポを上げ、早すぎると思ったらテンポを下げる。

微妙なズレは、回ってるターンテーブルの端をちょっと押して一瞬だけ回転を上げたり、またはブレーキをかけて合わせます。指先による、アナログなマニュアル操作です。

文章で書くとちょっと難しそうな「ピッチ合わせ」。でも体感的には自転車に乗るくらいの難易度で、たぶん誰でもできるようになります。そしてこの操作を覚えると、テンポの異なる2つのレコードをスムーズにつなげるだけでなく、同時に2つ以上鳴らしたりもできる(世の中には4つ同時に鳴らすDJもいますね)のです。これがね、やっててとても高揚感があるんですよ。

音楽と身体が一体になる感覚がある。気持ちいい体験です。

この楽しい「ピッチ合わせ」操作を、しかし、PCにDJ環境を移行したときから僕は出来なく(やらなく)なりました。単純に、僕が買ったコントローラー(faderfox DJ3)にピッチ合わせのフェーダーがついてなかったのです。

それにPCDJだとコンピューターが自動でテンポを合わせてくれるので、それはそれで便利だったんですよね。自転車に乗るのも楽しいけれど、エンジンのついたバイクで走るのも楽でいいし、それだけ余裕ができて景色も楽しめるね、みたいな。ピッチ合わせをしないぶん「選曲」の方に集中できるので、助かる部分もありました。

画像12

でも、今回作ったコントローラーは、この「ピッチ合わせ」を自分の手で、再びマニュアルで操作できるように設計しました。オートマの運転もいいけど、マニュアル操作で音楽と身体の一体感を得たい。そんなことが出来るようになる、ピッチ合わせ用のコントローラーを作りたかったのです。

3. システムの頭脳=Arduinoを選ぶ

ピッチフェーダー操作ができる小型のコントローラー。作りたいもののイメージはできました。それも、僕のPCDJ用ノートPC、ThinkPad T490の本体右側に挟み込んでマウントできる形状とサイズのものを作りたい。昔使っていたテクニクスのターンテーブルと似た位置に、フェーダーが来るようにしたかった。

では、調査開始です。まずはシステムの頭脳となる、tofubeatsさんも使っていた「Arduino」について調べましょう。

検索エンジンで「Arduino MIDIコントローラー 自作」で調べます。いくつか出てきた製作記事を読み、いくつものYouTube動画を見た結果、システムの中心となるマイコン・Arduinoには「Arduino Micro」が良さそうだ、という結論に至りました。

▲Nerd Musicianの動画。彼の動画はとても参考になりました。

イタリア生まれの小型マイコン・Arduinoには、サイズやピン数、積んでいるチップの違いなどで15種類くらいのバリエーションがあります(こちらの記事が詳しく解説しています)。結構あります。迷う。

調べを進めると、tofubeatsさんが使っていた「Arduino UNO」は、MIDIライブラリを導入するためにファームウェアを書き換えたりなど少し手間がかかるようです。一方、チップに「ATmega32U4」を積んだArduino Microだと、「MIDIUSB」というライブラリを読み込むだけでMIDI信号を読み書きできる。しかもめちゃくちゃ小さい。そして安い(2,851円・税込)。

はい、注文。

画像14

届いたArduino Microに、別途Amazonで購入したオーディオファンの12cmマイクロUSBケーブルをつないだところ。Arduino Microのミクロさが伝わるでしょうか。

これをUSBケーブル経由でPCにつなげば、Arduinoサイトから落とせるプログラミング用ソフト「Arduino IDE」を使ってプログラムを書き、Arduinoに流し込めるのです。

4. システムの回路を考える

Arduino Microが届いたので、ピン配置表をみながら各種スイッチやLEDランプ、そして大事なフェーダーといったパーツをどうつなぐかを考えます。Arduino Microにつなげたいパーツは、以下①~④の4種類。

まず①フェーダー(スライド型の可変抵抗器)。これはピッチを上げ下げできるようにするものです。

そして②トグルスイッチ。パチンパチンとスイッチを入れて、操作する2つのデッキを切り替えられるようにするもの。これがあれば、1本のフェーダーで2つのデッキを操作できます。

続いて③マイクロスイッチ×2個。これは、ピッチ合わせのときに必須となるちょい押しアクセルとブレーキ操作(=ピッチベンド)を行うためのスイッチです。

最後に④LED。これは、テクニクスのターンテーブル・SL-1200についてる、フェーダーが±0の位置にあるときに光るランプです。

回路図イラストを手軽に描ける「Fritzing」というソフトを使って、どうつなぐかの計画を練りました。こんな感じにつなげば、僕がやりたいことは実現できるはず…!

画像14

5. パーツを揃える

回路を考えたら、パーツを揃えていきます。

今回つくるコントローラーの中心であり、大事な大事なパーツである①フェーダーには、テクニクスの定番ターンテーブル、SL-1200の実機で使われているフェーダーをジャンクで入手して流用します。ヤフオクで4,000円弱くらいだったかな。

僕がアナログレコードでDJをしていた頃に馴染んだ、あの重さ、あの動きのフェーダーをどうしても使いたかったのです。

画像12

ジャンクのフェーダー部には、④のLEDもついていました。届いたジャンク基板のハンダを溶かして、このフェーダー部とLEDを取り出して流用します。

ここから先は、秋月電子と双璧を成す秋葉原のパーツ専門店・千石電商から通販したパーツです。本当は秋葉原の実店舗に行きたかったけど、当時東京は非常事態宣言下だったので通販しました。

まず②のトグルスイッチには、1924年(大正13年!)に港区白金で創業した老舗、ミヤマ電器株式会社の82LD-H3TGを選択。

画像13

そして③ピッチベンド用の小型スイッチには、1948年設立のオムロン株式会社が提供する極超小型基本スイッチ(低荷重動作形)・D2F-01FLを2個使用。いわゆるマイクロスイッチですね。これを瞬間接着剤で背中合わせに貼り合わせて使います。

画像12

オムロンのマイクロスイッチ、本当にマイクロで笑います。2つあわせても横幅26mmしかありません。こんな高精度なパーツが1個140円で買えるの素晴らしい。スイッチの感触も確かで、オムロンの技術の高さを感じます。

6. 回路を作り、プログラムを書く

パーツを揃えたら、まずはハンダづけ要らずで部品をつけたり外したりできる試作用基板(ブレッドボード)を使って、ジャンパ線でパーツをつなぎ、プログラムを書いてArduino Microに流し込み、プログラムが間違っていないか、ちゃんと制御できるか確かめていきます。

画像13

画像14

ArduinoはC言語でプログラムするのですが、僕にはそのプログラミング知識がほとんどありませんでした。何がvoidって僕がvoidですよ。それでも、ネット検索とGitHubのサンプルコード、そして超優秀な参考書(オライリー『Arduinoをはじめよう』)を読むことで、なんとか書き上げられました。

画像25

プログラムについては話が長くなってしまうので、この記事の姉妹記事「②プログラム編」をご覧ください。

プログラムを書いて、ブレッドボード上での動作を確認できたら、このままではケースに収まらないのであらためてユニバーサル基板上にパーツを設置し、てハンダづけしていきます。

ユニバーサル基板には、1987年に大阪で創業したダイセン電子工業のPU45X54を使います。ダイセンの基板は深いブルーが格好いいんですよ。

画像14

この基板をニッパーでさらに小さくトリミングして、Arduino Microと各パーツがつながるギリギリのサイズにします。最終的なコントローラーのサイズを極力小さくしたいですからね。

そしてこちらが、できあがった回路です。不器用が過ぎて、もうちょっとキレイに作れそうに見えるけど、ちゃんと動くのでこれでOKとします。

画像14

7. ケースを作って、組み立てる。

回路ができ、プログラムが書けたら、その回路を納めるケースも格好よく作っていきましょう。

ノギスで、このケースをマウントするPC側のサイズや、Arduino Micro本体基板、そしてフェーダーやスイッチなど各種パーツのサイズを何度も確かめながら測り、非商用なら無料で使えるAutodeskの3Dモデリングソフト・Fusion 360でケースをモデリングします。

PCを挟み込む部分にはキズ防止のために硬質フェルトを貼るので、硬質フェルトの厚さも慎重に計測しました(1.5mmでした)。

画像6

僕のデスクチューン記事シリーズ『天国、それともラスベガス』でも、過去に「PC排熱用のマフラー」のモデリング等に使ってきたFusion360。1年くらい使って、だいぶ操作に慣れてきました。モデリング、やってて楽しい。無限に時間が飛んでいきます。

モデリングできたら、DMMの3Dプリントサービス、DMM.makeでプリントします。素材は一番安くて強度もあるMJF(マルチジェットフュージョン)を選びました。

「一番安い」とはいえ、今回のケースでだいたい6,000円くらいと結構かかっちゃうDMM.make。でも、0.1mmの精度が出る高性能なプリント結果が、発注(データ入稿)からおよそ1週間~10日ほどで手に入るから嬉しい。

ケースにフタやスイッチを取り付けるネジは、自宅の近所にある世田谷のネジの専門店・「ネジの永井」さんのお世話になりました。今回も、言葉でふんわりイメージをつたえるだけでプロフェッショナルの技で「正にソレ」というものが即座に出てくる、親切な店員さんたちによる最高のユーザーエクスペリエンスを体験。プロって凄い。永井大好き。

画像13

8. 完成!!!!!!!

さて…届いたケースに回路を組み込んだら…ついに完成です! 嬉しさ溢れる豊富な写真で、僕の初めての自作MIDIコントローラーの姿をお楽しみください。

画像15

画像21

ThinkPadに挟み込む。うふふふふ。どうですこの完璧なフィット感(←「計画通り」の顔で)。

画像16

画像17

ケーブルは、近年のロードバイクなどでも常識になりつつある内装ケーブル方式を選択しました。PCに挟み込んだ本体の内側で、USBケーブルをPC右側面のUSB端子につないでいるので、外からみたときケーブルが見えなくて超すっきりです。現場でも他のケーブルと絡まないので安心。もちろんデスクもすっきり!

画像22

あらためてフェーダーを動かす。同じパーツを使っているから当然ではありますが、かつて慣れ親しんだ、あのテクニクスのターンテーブルと同じ重さ、同じ感触が嬉しい。

そして本体側面には、僕が棟梁をやっているハウスミュージックラウンジ「秋葉原住宅」のロゴをモデリング段階で刻印。MJFのシャープな精度感が素晴らしい。

画像18

ピッチベンドさせるマイクロスイッチの上には、SL-1200へのリスペクトと愛情を込めて、プラッター端のツブツブ意匠をあしらいました。このツブツブ、本当に好きなんですよね。ストロボライトとの組み合わせで、ターンテーブルの回転具合を視覚的に伝えるツブツブ。実際にターンテーブルを使ってたDJはきっと全員好きだと思います。

画像19

画像23

そして僕のはじめてのArduino工作を記念して、Arduinoにおまけでついてきたステッカーも貼りました。滲み出る嬉しさ。

画像20

では、早速DJしてみましょう。久々の手動ピッチ合わせ。指先に懐かしい、あのSL-1200のフェーダーの重さ。ばっちりテンポがあったときの高揚感。たーのしー!

tofubeatsの動画に触発されて取り組んだ自作MIDIコントローラー作り。想像以上に楽しかったです。この記事が、そして動画が、誰かの作りたい気持ちを刺激できたら幸いです。

Arduinoを使った、自分だけのオリジナルMIDIコントローラーの自作。めちゃくちゃ楽しいですよ! おすすめです!

画像24

いいなと思ったら応援しよう!

寺本秀雄(spinnage / spinn)
良かったら、100円サポートおねがいします!