USBマイク自作

140614a3音声認識をやってみたくなりJuliusディクテーション実行キットをインストールしたが、あまり認識率が良くない。録音してマイクの音量を確認すると全然小さい。安いマイクだからいけないのかもと、いろんなマイクを買ってみたが、やっぱり小さい、というかマイクを口に近づければ適正なレベルになるのだろうが、そんな状態ではなく、もっと離れた状態で音声認識ができるようにしたい。

そこでアンプ付き、ゲインがコントロールできるタイプのマイクは無いかと探すが見つからない。だったらマイクアンプを作ろうと思うが、USBから電源をとれる方がスマートだしマイク端子よりUSBコネクタの方が接続が楽だ。PIC32MXのUSBは割りとうまく使えるようになったので、これでUSBマイクを作れるだろうと作ってみた。

手持ちのUSBマイクのプロトコルをアナライザで見たり、www.usb.orgでAudio Device Classの仕様を調べたりしながら、結局Audio Device document 1.0のAppendix B. Example 1:USB Microphoneのデスクリプタを、そのまま使ったらPCにUSBマイクとして認識された。適当なデータを送るとPCから音が出る。

ゲイン可変のマイクアンプを作り、PIC32MX220のADで読み込ませると、結構ノイズっぽいがマイクとして動作した。しかし、ゲインを上げてもノイズ・音質の面から、うまく音声認識できそうな気がしない。この辺の問題には今後じっくりととりくんで行きたい。

とか思っているとPSOCでやると良いんじゃないという気持ちになってきて基板付きのPSOCの本が欲しくなり購入。PSoCのライブラリのUSBにはAudio Device Classもサポートされてるようだし、とりあえず、この基板で、そのままUSBマイクを作ってみて音質を確認してみよう。

ついでにPSOCのチップの値段も気になりdigikeyで調べてみたらPSOC5だとCY8C5268AXI-LP047が1,236円とかCY8C5268AXI-LP032が2,147円とか、かなり高いが、PSOC4だとCY8C41xxが200~300円ぐらいで安い。CG8000AA (CY8C42xx?)は なんと 117円!こんなに安いと基板を起こしたくなる。でもPSoC4にはUSBが無い?

Leave a Reply

メールアドレスが公開されることはありません。