LoginSignup
15

More than 5 years have passed since last update.

raspi最新カーネルでjuliusを動かす

Posted at

概要

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チカ

しかし、先日発売された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

なにかあればコメントください!

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
15