julius alsa? oss?

raspbian jessieのjuliusで音声認識するのに苦労しましたので記録しておきます

前回、認識結果のxmlのパースには成功しましたが、LXTerminalから実行すればうまくいくのに、pythonからos.systemで実行すると

Stat: adin_oss: device name = /dev/dsp (application default)
Error: adin_oss: failed to open /dev/dsp
failed to begin input stream


とエラーがでてしまいます。


どうもos.systemだとjuliusはrootで実行されているようでrootの環境変数AUDIODEVが、使っているUSBマイクの/dev/dsp1に設定されていないことが原因なのでは?とsuでrootになってLXTerminalからJuliusを実行してみると予想通り同じエラーがでました。


そこでsuでrootになってから

export AuuUDIODEV=/dev/dsp1

を設定してLXTerminalからjuliusを実行すると成功。

でもos.systemからはエラーで変わりません。

先哲の話では、/etc/profileに上のexportの記述をしておけばrootを含む全ユーザー共通の環境変数として使えるということで記述してみたり、いろいろやりましたが岩盤のように変化なし。

あきらめかけたましたが、一応やってみようとJuliusの設定ファイルの

-Input ossをコメントアウトし代わりに-input alsaを入れて

os.system("ALSADEV='plughw:1,0' /home/pi/julius-4.3.1/julius/julius -C /home/pi/julius-kits/dictation-kit-v4.3.1-linux/word.jconf -module &")

と頭にALSADEV='plughw:1,0' をつけるとついに成功しました

alsaとかossとかなんのことやらわかっていませんがとにかく成功は成功\(^o^)/






コメント

人気の投稿