hecomi / node-julius

Node.js module for voice recognition using Julius
http://d.hatena.ne.jp/hecomi/20121106/1352201767
72 stars 11 forks source link

グラマー登録中のエラーについて #6

Closed keisuke1970 closed 9 years ago

keisuke1970 commented 10 years ago

お世話になります。

私の環境は

OS Ubuntu 32 Node 0.10.24 で VMware Player上で動かしています。 辞書は sudo apt-get install mecab-ipadic-utf8 で文字コードにあわせた状態です。

mecabを実行すると ほげほげ ほ 動詞,自立,,,五段・ラ行,体言接続特殊2,ほる,ホ,ホ げ 名詞,接尾,一般,,,,げ,ゲ,ゲ ほ 動詞,自立,,,五段・ラ行,体言接続特殊2,ほる,ホ,ホ げ 名詞,接尾,一般,,,,げ,ゲ,ゲ EOS

と表示されました。

サンプルを実行したところエラーが出ました t.jsという名でサンプルを書いたところ

$ $ node t tmp.jconf STAT: include config: tmp.jconf STAT: jconf successfully finalized STAT: * loading AM00 _default Stat: init_phmm: Reading in HMM definition Stat: read_binhmm: binary format HMM definition Stat: read_binhmm: this HMM does not need multipath handling Stat: init_phmm: defined HMMs: 43 Stat: init_phmm: logical names: 43 Stat: init_phmm: base phones: 43 used in logical Stat: init_phmm: finished reading HMM definitions STAT: * AM00 _default loaded STAT: *\ loading LM00 _default STAT: reading [tmp.dfa] and [tmp.dict]... Error: voca_load_htkdict: line 5: phone "iワ" not found Error: voca_load_htkdict: the line content was: 4 [こんにちは] k o N n i ch iワ Error: voca_load_htkdict: begin missing phones Error: voca_load_htkdict: iワ Error: voca_load_htkdict: end missing phones Error: init_voca: error in reading tmp.dict: 1 words failed out of 5 words ERROR: failed to read dictionary "tmp.dict" ERROR: m_fusion: some error occured in reading grammars ERROR: j_create_instance_from_jconf: error in loading model Segmentation fault (コアダンプ)

と表示されました。

$ more tmp.dict 0 [] silB 1 [] silE 2 [] sp 3 [おはようございます] o h a y o: g o z a i m a s u 4 [こんにちは] k o N n i ch iワ 5 [おやすみなさい] o y a s u m i n a s a i

エラー表示からすると「iワ」が原因だと思うのですが

ソースコードでgrep iワと調べてもJuliusGrammar.jsからは表示されません。 tmp.dictを作るときのロジックを調べるとすぐわかるような気がするのですが何かアドバイスをいただけると幸いです。

あと、基本的な使い方としては音声はマイクをubuntuにつなげるといいのでしょうか? ブラウザーを通してできる方法とかあるのでしょうか? お忙しいところ恐縮ですがよろしくお願いします。

hecomi commented 10 years ago

ご報告ありがとうございます、バグでしたので修正しました。 最新版で再度試して頂けますでしょうか。 使い方はマイクをつなげるだけで大丈夫だと思います。 認識されない場合は、設定からマイクを認識しているか確かめて下さい。

ブラウザへ情報を伝えるには、socket.io などを使うと簡単だと思います。 私も以前やりまして、以下のエントリにて紹介しています: http://tips.hecomi.com/entry/20121123/1353843800

hecomi commented 9 years ago

こちら Close いたします。 問題がありましたら再度 issue を立てて頂けると助かります。