arduino uno r3でMIDIもUSBMIDIも出せるようになる...はずだったのだが

結論から言うとうまくいきませんでした。その顛末。
あまりよくわかってなくて、しかもうろ覚えで書いてます。違ってるかもしれません。

最小限の機能で、使い勝手がよく仕込みやすいMIDIコントローラを作れないかな、と思ったわけです。そのための実験。

今までLive用のトランスポート/コントローラをいろいろ使ってきました。
必要な機能は

  1. 二台のコンピュータを同時に動かす。
  2. scene-launch/stop/scene-fwd/scene-rewの4ボタン。
  3. 少数だが長いフェーダー。前の舞台では4本。今は2本で足りる。
  4. サンプラー用のボタン。必要な数だけ。

実現可能性を考えると

arduinoがunoになってUSBをつかさどるICがプログラム可能になり、USBMIDI deviceに比較的簡単になれるようになったようです。
それで、TXからserialでMIDI出力するものと同じものがUSBで出る、らしい。

デジタルインが2-13までの12個あるので、最大6×6=36個のスイッチマトリックスが組めそう。

アナログインが6個あるのでフェーダーが最大6個つけられる。

ということで、十分なポテンシャルです。

実際に試してみました。
こんな風に繋いでみて、Arduino.appで今まで使っていたものをロードして普通に使えることを確認。

DFUモードで立ち上げる。

sudo port install dfu-programmer

で、dfu-programmerをインストール。
MOCO for LUFAも落としてMIDI.hexを所定の位置に置いとく。
ネットで見た通りatmega16u2をプログラム。
cdでMIDI.hexの場所までいっといて

dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash MIDI.hex
dfu-programmer atmega16u2 reset

でUSBMIDI deviceになってくれるらしい、のだが...
atmega16u2が登録されてない!のでできない...

ググってみると、たしかにみんな出来てないようで、patchも公開されてました。
それを落として
port patch dfu-programmer
で/opt/local/var/macports/sources/rsync.macports.org/release/ports/cross/dfu-programmer/work以下に一旦展開したものにパッチを当てる。
cdでそこに行って、
patch -p0 < /(パッチへの絶対パス)/(落としたパッチファイル)
cd ..
port install dfu-programmer

でokのはず...が、パッチあたってなーい!やっぱり登録されてな~い...
調べてみると、patchなんたらはちゃんと行われていてファイルも書き換えられている様子。インストールでworkフォルダもちゃんと消えているのに...謎。

homebrewでパッチを当てるというのもあったので、homebrewをインストール。
でも、xcodeの新しいのが必要らしく、頓挫。早々に諦める。

dfu-programmerの新しいのないかなあと思ってぐぐってみたらありました。
中身をみたらatmega16u2に対応しているようでした。
cdでそこにいって
./bootstrap.sh
./configure
make
sudo make install
でインストール...できなーい...なんかscriptが古いって言ってくる...

もう無理。なので諦めました。
Macportsに新しいのが乗ってくるまで放置です。

コメント