EnsekiTT Blog

EnsekiTTが書くブログです。

RaspberryPiにJuliusいれて話しかける話(準備編)

こんにちは、えんせきです。
お家をスマートにしたい。あわよくば家事は全てロボットに準ずる機械ができるようにしたいと思っている僕です。

つまりなにしたの?

RaspberryPiにJulius入れてとりあえず既存のディクテーションキットで話しかけられるようにする。
今日は環境の準備編で、ビルドに必要なパッケージとかマイクの優先度とかを整える。
f:id:ensekitt:20180327014636j:plain

前回は何したの?

ensekitt.hatenablog.com
Webカメラのマイクを使えるようにした。

Juliusってなに?

音声認識システムの開発・研究のためのオープンソースの高性能な汎用大語彙連続音声認識エンジン。
汎用→普通の話し言葉
大語彙→たくさんの語彙
音声認識→音声を認識してくれる
C言語でつくられていて、商用利用も大丈夫みたい。すばらしい。
julius.osdn.jp

流れ

  • (準備編)環境の準備(先日の記事と重複があります)
  • (Juliusインストール編)Juliusとディクテーションキットのインストールして動作確認
  • (自前の辞書編)Juliusに好きな単語で話しかける

環境の準備

音関係とおなじみBuild-essential

$ sudo apt install libatlas-base-dev libasound-dev libportaudio-dev portaudio19-dev
$ sudo apt install libasound2-dev libesd0-dev libsndfile1-dev
$ sudo apt install build-essential zlib1g-dev flex

(参考: 日本語フォント、日本語入力、日本語ターミナル)

$ sudo apt-get install fonts-vlgothic
$ sudo apt-get install ibus-anthy
$ sudo apt-get install jfbterm
マイクの優先度

おそらく最初の設定はこうなってる

$ cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_usb_audio

ここで、snd_usb_audioが0に来るようにしたい。

そこで、

/etc/modprobe.d/alsa-base.conf

を新規作成して、

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

を書き込む
RaspberryPiを再起動する

確認

$ cat /proc/asound/modules
 0 snd_usb_audio
 1 snd_bcm2835

続きはまた今度