LoginSignup
6
9

More than 5 years have passed since last update.

Raspberry pi 2で音声認識してみる

Last updated at Posted at 2016-03-20

はじめに

Raspberry pi 2で音声認識エンジンであるJuliusを動かすところまでをやってみました。

基本はこちらのページ(以降、参照記事と記載してるのはこのページです)を参考にさせていただいてますが、環境が変わったためかそのままでは動かなかったので、そのあたりを中心にまとめます。

対象とする環境

項目名 対象
本体 Raspberry pi 2 model B
OS RASPBIAN JESSIE March 2016
オーディオアダプタ PLANEX USB オーディオ変換アダプタ ケーブル PL-US35AP
マイク フラット型PCマイク MM-MC23

参照記事みて、本体のマイクだとノイズがきになるので、私もUSBオーディオアダプタを使用しました。
C-Media製のCM119Aを使ったものであれば、同じ方法でいけると思います。

USBアダプタの設定

まず、ラズパイにUSBオーディオアダプタを差します。その後、

$ cat /proc/asound/modules

とすると、

0 snd_bcm2835
1 snd_usb_audio

と表示されます。このままだと、内蔵オーディオが優先されてしまいますので、優先度を入れ替えます。※この方法が参照記事ではうまくいかないです。

alsa-base.confというファイルを新規に作成します。

$ sudo vi /etc/modprobe.d/alsa-base.conf

で、以下の3行を記載します。

options snd slots=snd_usb_audio,snd_bcm2835
options snd_usb_audio index=0
options snd_bcm2835 index=1

その後、再起動します。再度、

$ cat /proc/asound/modules

すると、

0 snd_usb_audio
1 snd_bcm2835

と入れ替わりました。

動作確認

念のためにマイクの音量を最大にします。

$ amixer sset Mic 16

一度録音をして、再生してみます。実行はスーパーユーザで行う必要があります。
※参照記事ではこの記載がない。以前はスーパーユーザでなくてもいけたのかもしれないし、何らかの設定されていたのかもしれない。

$ sudo arecord -r 16000 -f S16_LE test.wav
$ sudo aplay test.wav

この状態だと、結構ノイズがのっている感じでした。
サウンドアダプタの設定や録音パラメータ関連は少し調整しないといけないかも。

Juliusのコンパイルとインストール

これは参照記事をご覧ください。
注意点は以下。
1. Juliusの実行もスーパーユーザーで行う必要がある
2. sudo modprobe snd-pcm-oss は必要

最後に

ということで、簡単に音声認識を行うための環境を作ることができました。
課題は、ノイズのせいか、認識率が低いことです。参照記事のようにオリジナル単語辞書を作れば、解決できるのかまだそこまではやれてませんが、録音レベルではっきりわかるノイズはクリアーにしておきたい感じです。(今後の課題)

以上

6
9
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
6
9