Linuxに標準搭載されているALSA(Advanced Linux Sound Architecture)を使用します。
これにはMIDIインターフェースのリダイレクト機能も含まれているので、そのaconnectコマンドでEWI-USBとUSB-MIDIを接続するだけです。
まず、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」の物がほとんどみたいです。
RasPiにEWI-USBとUSB-MIDIケーブルを繋いでおいてから、RasPiの電源を入れて起動します。
コンソール接続して先ほどのスクリプトを実行してやるだけ。
面倒くさければ、/etc/rc.localに記述しておけば自動実行されます。