関塚甲介
2016.05.09
音声認識で英単語を受け付けるとエラーが発生します
VstoneMagicVersion: 1.0.5941.36712
  sota本体: 20160509朝にupdateがないことを確認。


音声認識(ベストスコア)の分岐に
「メニュー」「ニュース」といった英単語(カタカナ表記)を入れて、その分岐に行くように
メニューやニュースと話しかけるとエラーが発生し、プログラムが終了します。

---終了時コンソール出力---------------------
 [Info][SpeechRecog][getRecognition][Score:0.555266]練乳
 [Info][SpeechRecog][getRecognition][Score:0.747953]メニュ−
 [Info][SpeechRecog][getRecognition][Score:0.642143]メニュー
 [Info][SpeechRecog][getRecognition][Score:0.539931]menu
 [Info][SpeechRecog][getRecognition][Score:0.758866]まんが王国
 [Info][SpeechRecog][getRecognition][Score:0.748571]レニュー
 [Info][SpeechRecog][getRecognition][Score:0.748917]メニュウ
 main[1] > アプリケーションが終了しましたexitexit
 logout
 [1]+  Done                    java -Dfile.encoding=UTF8 -Djava.library.path=/usr/local/share/OpenCV/java/ - Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8765 -jar Test.jar 2>&1

 ロボットとの通信を切断しました。
--------------------------------------

分岐条件にこれらの文字列を入れず、elseを通る場合
「メニュー」や「ニュース」といったものも問題なく処理されます。
また、分岐条件に「こんにちは」のような日本語文字列を入れた場合も普通に動作しています。
(英単語に問題があるかもしれない、というのは適当な推測です)

ためしに自由処理記述で音声認識処理のコードを記述し
CheckBestメソッド記述部を囲ってみたところ
try{
  speechRecogResult = recogresult.CheckBest(new String[]{ "メニュー", "ニュース" , "こんにちは" ,"" },false);
}catch(Exception e){
  e.printStackTrace();
}

以下のように例外出力されていました。
java.lang.NullPointerException
  at jp.vstone.sotatalk.SpeechRecog$RecogResult.CheckBest(SpeechRecog.java:201)
  at jp.co.mysota.mymain.main(mymain.java:38)
  at main.main.main(main.java:40)


回避策等ありましたら教えていただけると助かります。
回答
Sotaサポート
2016.05.13
Sotaサポートです。
回答が大変遅くなり、ご迷惑をおかけいたします。

Sota及びVstoneMagicを最新のVer.1.2.15にアップデートして再度試していただけますか?

それでも上手くいかないときは、Sotaサポート宛に、以下の情報と一緒に症状をご連絡ください。
  1. Sotaのバージョン、種類(Edison or Pi)
  2. Sotaのシリアル番号
  3. VstoneMagicのバージョン
  4. VstoneMagicで実行した際のコンソールメッセージ

以上、何卒よろしくお願い致します。

 
関塚甲介
2016.07.08
2016.06.30 のアップデートを適用したところ
この問題が解決していることを確認できました。

対応ありがとうございました。
この質問に回答する
 

Page Top