Raspberry PiでJuliusを使った音声認識(1)
こんにちは。
Raspberry Piで音声認識をします。
[使用環境]
Raspberry Pi Model B+
※結構遅いです。そろそろRaspi2買わなきゃ・・・
音声認識にはJuliusという国産のエンジンを使います。
この記事を書くにあたって以下のページを参考にしました。ありがとうございます。
Devel/電子工作/RaspberryPi/日本語音声認識 - cubic9.com
http://www.orsx.net/blog/archives/4938
Julius
Julius大語彙連続音声認識エンジン Julius
Juliusは非常に高性能な音声認識エンジンで、日本の大学等の研究機関が開発を行っています。
準備するもの
・Raspberry Pi
・Raspberry Piを動かすのに必要なもの
・マイクモジュール
マイクモジュールは、自分は以下のものを使用しています。
SANWA SUPPLY MM-MCUSB16 USBマイクロホン
- 出版社/メーカー: サンワサプライ
- 発売日: 2009/05/13
- メディア: エレクトロニクス
- 購入: 2人 クリック: 3回
- この商品を含むブログ (6件) を見る
机の上汚い・・・
マイクモジュールの検証
マイクモジュールの検証、設定をします。
# /etc/modprobe.d/alsa-base.conf内の以下を編集してください # options snd-usb-audio index=-2 options snd-usb-audio index=0
そして再起動
$ sudo reboot
します。
ここで以下のコマンドを入力してサウンドモジュールの使用優先度を確認してください。
$ cat /proc/asound/modules
このコマンドの出力が
0 snd_usb_audio 1 snd_bcm2835
となっていれば設定は成功です。
以下のコマンドでマイクの音量を設定してください。
$ amixer sset Mic 50
数値の範囲は0-62です。
Juliusのインストール
まずはファイルをダウンロードします。
※最新バージョンは4.3.1(2015年6月30日現在)
$ wget -O julius-4.3.1.tar.gz ‘http://sourceforge.jp/frs/redir.php?m=osdn&f=%2Fjulius%2F60273%2Fjulius-4.3.1.tar.gz’ $ wget -O dictation-kit-v4.3.1-linux.tgz ‘http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fjulius%2F60416%2Fdictation-kit-v4.3.1-linux.tgz’
次に、ビルドします。
$ tar zxvf dictation-kit-v4.3.1-linux $ tar zxvf julius-4.3.1.tar.gz $ cd julius-4.3.1 $ make $ sudo make install
マイクモジュールのカード番号を確認します。
$ arecord -l
これで表示されたカード番号を次のコマンドで指定します。
$ export ALSADEV=hw:0
Juliusの実行
以下のコマンドでJuliusを実行します。
$ julius -C main.jconf -C am-gmm.jconf -demo
これで以下のように出力されたら成功です。
躓いたところ
Error: adin_oss: failed to open /dev/dsp
以下を実行する
$ sudo modprobe snd-pcm-oss
you should specify at least one LM to run julius
原因:実行コマンドの入力間違い
InternalError: codeconv: invalid multibyte sequence in the input
原因:最初実行コマンドの末尾に -charconv EUC-JP UTF-8 をつけていたのですが、これが原因だったみたいです。これを外したら無事動きました。
こんな感じになる
CUI操作だと日本語出力がうまくいきません。素直にstartxしたほうが早いです。
少し遊んでみる
俺「こんにちは」raspi「こんにちは」
俺「カエルぴょこぴょこみぴょこぴょこ」
raspi「えっ 。」
俺「カエルぴょこぴょこみぴょこぴょこ」
raspi「入る と 国民 郷子 郷子 。」
俺「カエルぴょこぴょこみぴょこぴょこ」
Siriさん「ではこちらも。庭には二羽にわとりがいる。」
Siriさん強い。
モジュールモード
これだけだとただのお遊びツールにしかすぎません。ですが、Juliusにはモジュールモードという非常に便利な機能があります。
このモジュールモードにより他のアプリケーションで音声認識が可能になります。
参考:公式リファレンス
第10章 モジュールモード
長くなるので続きは次の記事に書きます。