FR60 マイコン基板 (21) -- USB-MIDI (6)
FR60 用の USB-MIDI プログラムが動作するようになりました。
OSDC のドットクロック周波数を 48 MHz に設定して USB クロックとして使う「0 円 48 MHz オシレータ」機能もプログラムして、実際に動くことを確かめました。
3種類の USB-MIDI をまとめて PC につないで、OS の違いによる認識のされ方の違いを見てみます。
まず、Windows Vista でのデバイスマネージャの表示です。
Vista では、デバイス・ディスクリプタの「iProduct」で示されるストリング・ディスクリプタの値をデバイス名として表示します。
次は Windows XP でのデバイスマネージャの表示です。
XP ではストリング・ディスクリプタの値は無視され、全部「USB オーディオ」になってしまいます。
INF ファイルを作成すれば、ユニークな名称を割り当てられると思いますが、サンプルプログラムの人様のベンダ ID、プロダクト ID を使っているので、勝手に INF ファイルを作るのは、おこがましい気がします。
プロパティを開くと、「場所」の行にプロダクト名が表示されます。
Linux の aplaymidi でクライアント/ポート名をリストさせると次のようになります。
$ aplaymidi -l Port Client name Port name 14:0 Midi Through Midi Through Port-0 20:0 TGFR60 USB-MIDI TGFR60 USB-MIDI MIDI 1 24:0 STM32 USB-MIDI STM32 USB-MIDI MIDI 1 28:0 EZ-USB MIDI EZ-USB MIDI MIDI 1 $ aplaymidi -p TGFR60 *.mid
ストリング・ディスクリプタの値をクライアント名として表示します。
最後の行のように、ポート番号に限らず、クライアント名を指定しても演奏させることができます。