音声認識してみる

音声認識に挑戦してみましょう。

・Juliusはラズパイでも使用可能なオープンソースの音声認識エンジンです。(julius公式ページ)クラウド型ではないので、インターネットにつながなくても動作します。オープンライセンスなので個人利用はもちろん、商用でも無償で利用することができます。

・べゼリー音声対話キットに付属しているSDカードには2016年9月21日にリリースされたDictation version 4.4がインストールされています。


事前準備

・マイクとスピーカーの両方を使いますので、それぞれちゃんと機能していることを事前にご確認ください。

音声キーワード認識サンプル(sample_julius1.py)

・事前にユーザーが登録したキーワードを認識させます。決められた言葉にしか反応しませんが、高い精度で認識することができます。

実行方法

・2つの手順が必要です。まずジュリアス(音声キーワード認識版)を起動します。

・起動するまで数秒待ちます。
・続いて、juliusからデータを受け取って表示するpythonのプログラムを実行します。

・マイクに向かって「こんにちは」「ありがとう」などと喋ってみてください。画面に「昼の挨拶」「感謝」など「話者の意図」が表示されたら成功です。

ソースプログラム

終了方法

・pythonプログラムの「sample_julius1.py」は、いつものようにコントロールキー+Cキーで停止します。
・しかしjuliusはバックグラウンドで動き続けているので、これだけでは止まってはくれません。juliusを停止させるのは、ちょっと面倒です。
・まずは下記のように打ち込んで、juliusのプロセスIDを調べます。

・例えば以下のように表示されたとすると、juliusのプロセスIDは3923だということがわかります。

・プロセスIDが3923のプロセスを停止するには、以下のようにうちみます。

・これで停止できたはずです。心配ならもういちどcheck_running.shを実行して、juliusが表示されないことを確認しましょう。


自然言語認識サンプル(sample_juliusNL1.py)

・単語だけでなく、普通に喋った言葉をjuliusが文字に変換してくれます。言語モデルの学習など手をかければ精度は上がるはずですが、初期状態ではよく使う表現しか認識してくれません。

実行方法

・やはり2つの手順が必要です。まずジュリアス(自然言語認識版)を起動します。

・数秒待ってから、juliusからデータを受け取って表示するpythonのプログラムを起動します。

・好きな言葉を喋ってみてください。ありふれた言葉以外は、正しく認識されないと思います。

ソースプログラム

解説

・18行目でimportしているElementTreeは、juliusから送られてきたxmlを解釈するために利用しているモジュールです。