Posted at

Raspberry Pi上で音声認識環境を作ってみた

More than 3 years have passed since last update.


はじめに

最近は音声認識による家電操作などがCMでも流れている。

自分でもとりあえず音声認識してWebが操作できるものが作りたい!

と思い立ち、作ってみた。

とはいえ、先人の人が既に作り方を公開していらっしゃるので

そちらを参考に気が付いた点だけ補足していきます。


用意したもの

今回用意したものは以下のとおり


  • RaspberryPi(Model A)

  • SDカード(32GB)

  • PLANEX GW-USNano2

  • Logitech, Inc. QuickCam Pro 4000

  • スピーカー

  • microUSBケーブル

  • USB AC電源アダプター

  • miniUSBケーブル

  • Web表示用PC


音声入力(USBマイク設定)

認識させるための音声を拾うために音声入力の設定をします。

こちらが参考になります。

pulseaudioの起動時にエラーとなっても特に問題は無いようです。


音声出力(OpenJTalk)

認識ついでに応答してもらうために、喋ってもらう用意をします。

こちらを参考にしました。


スピーカー、マイクの調節


$alsamixer


上記コマンドで設定画面を開きます。

※以下のような画面でMasterが出力(スピーカ音量)、Captureが入力(マイク感度)

マイク、スピーカ共に50%程度が適量です。この状態でマイクに対して2~30cm離れた距離から

普通の音量で発声することで、期待した結果が最大限に発揮されるようです。


音声認識環境の構築(Juliusのインストール)

Juliusのインストール、設定は今までのリンクに方法が記載されています。


音声認識辞書の作成

認識させる言葉を予め登録しておくことにより、音声認識ができます。

辞書の作成は以下のサイトを参考にしました。

とりあえず、上記までで環境の構築はできました。


音声認識でのコントロール

後はJuliusで認識した言葉を命令にして実行するpythonなどを用意する。

音声応答を返す、WebSocketなりでPCのブラウザに飛ばし画面遷移を実現する。

デバイスを動かす等、いろいろなことができます。

以下のサイトを参考にしました。


まとめと課題

実際に動くことを確認できたのでいきなり誘われたHTML5カンファレンスに出展しました。

某音声認識ソフトをもじって「Chiriちゃん」by D.F.Mac(命名)

朝、設定しているときは動くことを確認できたんですが…

想定を大きく超えて、周りうるさ過ぎ!

雑音というより騒音で、ほとんど認識できませんでした… orz

音声認識では雑音対策が必要となる場合があります。(家庭で使う分には十分ですが)

デフォルトの環境ではノイズ対策がされていないため、次はノイズ対策に取り組みたいと思います。