* 2つの方法 [#d338f86f]
- [[RasPiを使ってEWI-USBをレガシーMIDIに変換>#p5b7f7e2]]
- [[ワンチップマイコンでUSB-MIDIデバイスをレガシーMIDIに直接変換>#u89974a2]]

* RasPiを使ってEWI-USBをレガシーMIDIに変換 [#p5b7f7e2]

** 用意する物 [#z2fb89c1]
- RaspberryPi B+~
2でもどちらでも良いけど、USBポートが2つ以上ある物。今から買うなら2ですね。~
Type-AのUSBポートが1つの物でもUSBハブを使えば大丈夫だろうけど未検証です。
- USB-MIDI変換ケーブル(安いヤツで十分OK)
- MicroSDカード(これにOSを入れる)~
起動が速いほうが書いた気なので、8GB以上のClass10を推奨。
- ACアダプタかモバブー(MicroUSB出力で1A取れればなら何でもOK)

** 仕組み [#j9431d73]
Linuxに標準搭載されているALSA(Advanced Linux Sound Architecture)を使用します。~
これにはMIDIインターフェースのリダイレクト機能も含まれているので、そのaconnectコマンドでEWI-USBとUSB-MIDIを接続するだけです。

** 作り方 [#hbc791b7]
まず、RasPiにNOOBSを使ってRasbian(Linux)をセットアップします。~
次に、スクリプトを作って仕込みます。~
スクリプトを作ったのは、USBデバイスを挿す順番/場所によってデバイス番号が変わってしまうからです。~
デバイス名で指定する方法もありますが、どういうわけか安物USB-MIDIの「USB2.0-MIDI」というデバイス名を正しく処理してくれません。~
おそらく2.0の「.」が悪さをしているのでしょう。デバイス番号で指定すると確実です。~
よって、デバイス名からデバイス番号を抽出するスクリプトを使います。

awkを使うと、正規表現にマッチした行を取り出すと同時に、スペース区切りでリスト化する事が簡単にできます。~
今回はこの機能を使用して、デバイス番号を抽出しています。

 pi@raspberrypi ~ $ cat ewiusb2usbmidi.sh
 #!/bin/bash
 echo "Connect EWI-USB to USB-MIDI output"
 aconnect `aconnect -i | awk '/クライアント.*EWI-USB/{print $2}'`0 `aconnect -o | awk '/クライアント.*USB2\.0-MIDI/{print $2}'`0

これだけです。~
USB-MIDIにRolandのUM-ONEを使う場合は一部変更します。

 pi@raspberrypi ~ $ cat ewiusb2usbmidi.sh
 #!/bin/bash
 echo "Connect EWI-USB to USB-MIDI output"
 aconnect `aconnect -i | awk '/クライアント.*EWI-USB/{print $2}'`0 `aconnect -o | awk '/クライアント.*UMONE/{print $2}'`0

500円くらいで売っている安物のUSB-MIDIは、デバイス名が「USB2.0-MIDI」の物がほとんどみたいです。~

** 使い方 [#a429eedf]
RasPiにEWI-USBとUSB-MIDIケーブルを繋いでおいてから、RasPiの電源を入れて起動します。~
コンソール接続して先ほどのスクリプトを実行してやるだけ。~
面倒くさければ、/etc/rc.localに記述しておけば自動実行されます。

** 構成図 [#tbf6b7d9]
&ref(usb-midi.jpg);

* ワンチップマイコンで直接変換 [#u89974a2]

Microchip社の32bitマイクロコントローラーを使用し、USB HOST機能を実装してUSB-MIDIからレガシーMIDIへの変換を行います。

** 参考ページ [#y8c4a49a]
http://d.hatena.ne.jp/pcm1723/searchdiary?word=%2A%5BUSB%20MIDI%20%A5%DB%A5%B9%A5%C8%5D

** 用意する物(主要部品) [#pcacda63]
- Microchip PIC32MX220F032B
- 8MHz水晶振動子
- 3.3V LDO
- 500mA PSW
- USB-Aレセプタクル
- DIN-5ジャック

** メモ [#oeb6ebd6]
- パッケージにHEXが含まれているので、それを焼いたらEWI-USBで動いた~
書き込みはPikKit3とMPLAB-X IPEを使用
- Firmwareを焼くには、VDD/AVDD/VSS/VCAPの接続が必要
- MIDI出力は2回反転してやらないとならない。(デジトラ2個)
- 単3電池2本の3Vから5Vに昇圧してEWI-USBのVBUS供給までまかないたい~
→未確認
- ハード音源のEWI-3000mにMIDI接続して動作OK(ベンドやグライドも効く)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS