LoginSignup
52
53

More than 5 years have passed since last update.

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

Posted at

はじめに

最近は音声認識による家電操作などが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が入力(マイク感度)

alamixer.png

マイク、スピーカ共に50%程度が適量です。この状態でマイクに対して2~30cm離れた距離から
普通の音量で発声することで、期待した結果が最大限に発揮されるようです。

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

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

音声認識辞書の作成

認識させる言葉を予め登録しておくことにより、音声認識ができます。
辞書の作成は以下のサイトを参考にしました。

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

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

後はJuliusで認識した言葉を命令にして実行するpythonなどを用意する。
音声応答を返す、WebSocketなりでPCのブラウザに飛ばし画面遷移を実現する。
デバイスを動かす等、いろいろなことができます。
以下のサイトを参考にしました。

まとめと課題

実際に動くことを確認できたのでいきなり誘われたHTML5カンファレンスに出展しました。
某音声認識ソフトをもじって「Chiriちゃん」by D.F.Mac(命名)

朝、設定しているときは動くことを確認できたんですが…
想定を大きく超えて、周りうるさ過ぎ!
雑音というより騒音で、ほとんど認識できませんでした… orz
音声認識では雑音対策が必要となる場合があります。(家庭で使う分には十分ですが)

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

52
53
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
53