1. mooriii

    Posted

    mooriii
Changes in title
+raspi最新カーネルでjuliusを動かす
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,62 @@
+# 概要
+RaspberryPi3で音声認識ソフトウェアjuliusを動かそうとすると以下のようなエラーが出ることがあり
+
+```
+Stat: adin_oss: device name = /dev/dsp (application default)
+Error: adin_oss: failed to open /dev/dsp
+failed to begin input stream
+```
+このエラーはカーネルバージョンが最新でなければ以下のコマンドで回避できます
+
+```
+sudo modprobe snd-pcm-oss
+```
+juliusのインストールや使い方は以下の記事を参考に。
+[ラズパイと音声認識でLチカ](https://qiita.com/mr_04v/items/6a16663ce9a80b2e2b92)
+
+しかし、先日発売されたRaspberryPi3b+ではカーネルのバージョンが最新である必要があり
+最新のカーネルでは`snd-pcm-oss`のモジュールが含まれていないため
+先ほどのコマンドを入力すると以下のようになってしまいます
+
+```
+sudo modprobe snd-pcm-oss
+modprobe: FATAL: Module snd-pcm-oss not found in directory /lib/modules/4.14.34-v7+
+```
+この回避方法を以下で説明していきたいと思います
+
+## 回避方法  
+### カーネルバージョンのダウングレード (RaspberryPi3b+以外)
+RaspberryPi3b+は最新バージョンでないと動かないので飛ばしてください。
+エラーの原因は
+
+- 最新のカーネルでは`snd-pcm-oss`のモジュールが含まれていない
+
+であるためカーネルをダウングレードすればいいというお話。
+
+以下のコマンドで4.5.59にダウングレードすると先ほどのコマンドが通るようになる
+
+```
+sudo rpi-update a6b3e852ca70f2a12850b4542438583cc3b29788
+```
+
+### 使用するサウンドドライバを変更する(*最新カーネル対応)
+最新カーネルで動かしたい場合は,juliusのコンパイルの際にサウンドドライバをoss標準でないものに指定する必要があります
+
+```
+sudo apt-get install osspd-alsa
+sudo aptitude install libasound2-dev
+./configure --with-mictype=alsa
+make
+make install
+```
+
+これでできるはずです
+
+ちなみにデバイスをしていするために以下のコマンドでカードを確認して正しく指定する必要があります
+
+```
+arecord -l
+export ALSADEV=hw:1
+```
+
+なにかあればコメントください!