dポイントプレゼントキャンペーン実施中!

ラズパイ3でpythonによるjulius(音声認識)への
socket接続が出来なくて昼夜、悪戦苦闘しております。
長文ですがどうかお助け下さい。

まず、julius側での音声認識するとこまでは出来ている
と言う段階で、お問合せさせて頂きます。

juliusをmoduleモードで実行しjuliusのプロセスIDを
取得するシェルスプリクトを作成し
/home/pi/start_julius.shとしたディレクトリの
位置においてあります。

そこで、ラズパイ3を起動し、ターミナル画面において
1回目に次のコマンドを入力します。
Pi@raspberriPi:~$ ./start_julius.sh
987
Pi@raspberriPi:~$ とID 取得が成功します。

次に2回目からは
Pi@raspberriPi:~$ ./start_julius.sh
756
Error:failed to bind socket
failed to bigin input stream
とエラーが表示されてしまいます。

このエラーはどうして起きるのでしょうか?
socket接続に失敗した様に読み取れます。

また、この意味が分からず、原因解消せずに
バックグランドで,juliusをモジュールモードで起動
させておき、別のターミナル画面を開いて

Pi@raspberriPi:~$ sudo python gpled.pyとpythonコードを
実行すると
Pi@raspberriPi:~$
となり、エラーも変化も表示されません。

juliusのバックグランド画面側では、ラズパイに接続された
マイクが反応する都度
WARNING:00_default hypothesis stack exhausted, terminate search now
のメッセージだけが増えて表示されて行き、辞書に作成した特定言語が
認識されません。
その為、得られた認識結果に応じて
アクション(LEDを点灯)するはずですが、変化ありません。

pythonプログラム側のサーバーモードで起動したjuliusに接続
するためのプロセス構文の所は、何度も見直し、エラーも無く
コンパイルが成功しておりますが、何処に問題があるのでしょうか?

pythonにおいては、まだまだ不慣れでサンプルコードを、
流用している程度で、こうなればお手上げ状態です。

どなた様からも、お力添え頂けるなら大変光栄に思われます。

A 回答 (1件)

まぁ、多分やるんだろうな。

と推測していたことをキッチリやって頂いたことにまずは感謝(?)を。

で、スクリプトの内容も掲示しましょうね。
どっかのページの内容そのままだとは思いますけど。

>次に2回目からは
>Pi@raspberriPi:~$ ./start_julius.sh
>756
>Error:failed to bind socket
>failed to bigin input stream
>とエラーが表示されてしまいます。
>このエラーはどうして起きるのでしょうか?

1回目で起動したプロセスがポートを掴んでいるので、2回目に起動したプロセスがポートを使えないので起動に失敗しました。
1台しかない自転車(使いたいポート)に対して、学生番号987のA君が使用中です。
A君が使用中のまま学生番号756の貴方が同じ自転車を使う方法はあるでしょうか?
なお、自転車を使えないと遅刻確定です。二人乗りは出来ません。

Pythonコードの方に関しては不明。
掲示されているわけでもないし。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございました。
あなた様からのアドバイスも、参考に暗中模索の末、
何とか解決になりました。
諦めずしつこく続ける事が良かったのかな。

お礼日時:2018/05/05 09:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!