最低限必要なのは,以下の3種類のファイルです.
音響HMM定義ファイル | HTKのHMM定義ファイル形式 |
単語辞書ファイル | HTKの辞書形式とほぼ同じ |
単語N-gramファイル | 2-gram+逆向き3-gram (ARPA標準形式)、 またはバイナリN-gram形式(独自形式) |
音響HMMとして音素環境依存モデル(triphone, PTMなど)を用いる場合、さらに以下のファイルが必要です。
HMMListファイル | 独自形式 |
各ファイルの詳細については 「ファイル仕様と制限」を参照してください.
基本的な音響モデル・言語モデルがこれまでに配布されています:
前節で述べた Julius のCD-ROMをお持ちの方は、各CD-ROMに含まれている音響モデル・言語モデルを使うよう設定されたjconfファイルがCD-ROMに含まれていますので、それを使って下さい。
音声ファイルの形式は、16bit の .WAV ファイル(無圧縮)あるいは RAW ファイル(big endian) です。サンプリング周波数は音響モデルの分析条件に依存しますが,通常は 16kHz です.
Juliusの起動はコマンドラインから行います."-C" オプションで jconf ファイルを指定します.
% julius -C jconfファイル名
jconf内の各設定は、ここでコマンドラインオプションとして与えることもできます。特に"-C jconfファイル名" の後ろで指定することで,jconfファイル内の設定を上書きできます.たとえば,ここでは音声ファイル入力を行うので、以下のように指定することで jconf 内の指定によらず音声ファイル入力を指定することができます。
% julius -C jconfファイル名 -input rawfile起動が終了すると,以下のようなプロンプトが出てキー入力待ち状態になります。
enter filename->ファイル名を与えると、Juliusはその入力に対して音声認識を行います.
認識処理全体は2パスで行われます。まず入力全体に対して2-gramを用いたフレーム同期の認識を行います.以下は第1パスの出力例です.
input speechfile: sample/EF043002.hs 58000 samples (3.62 sec.) ### speech analysis (waveform -> MFCC) length: 361 frames (3.61 sec.) attach MFCC_E_D_Z->MFCC_E_N_D_Z ### Recognition: 1st pass (LR beam with 2-gram) ....... pass1_best: 師匠 の 指導 力 が 問わ れる ところ だ 。 pass1_best_wordseq: <s> 師匠+シショー+2 の+ノ+67 指導+シドー+17 力+ リョク+28 が+ガ+58 問わ+トワ+問う+44/21/3 れる+レル+46/6/2 ところ+ト コロ+22 だ+ダ+70/48/2 。+。+74 </s> pass1_best_phonemeseq: silB | sh i sh o: | n o | sh i d o: | ry o k u | g a | t o w a | r e r u | t o k o r o | d a | sp | silE pass1_best_score: -8944.117188pass1_best: が第1パスのベスト仮説の文字列(中間結果)です.
第1パス終了後、第2パスが実行されて最終的な認識結果がでます。 第2パスでは第1パスで得られた中間結果を元に,3-gramを用いて単語単位の スタックデコーディングを行います.
### Recognition: 2nd pass (RL heuristic best-first with 3-gram) samplenum=361 sentence1: 首相 の 指導 力 が 問わ れる ところ だ 。 wseq1: <s> 首相+シュショー+2 の+ノ+67 指導+シドー+17 力+リョク+28 が +ガ+58 問わ+トワ+問う+44/21/3 れる+レル+46/6/2 ところ+トコロ+22 だ+ ダ+70/48/2 。+。+74 </s> phseq1: silB | sh u sh o: | n o | sh i d o: | ry o k u | g a | t o w a | r e r u | t o k o r o | d a | sp | silE score1: -8948.578125 478 generated, 478 pushed, 16 nodes popped in 361sentence1: が最終的な認識結果となります. 認識終了後はファイル名入力プロンプトへ戻ります.
結果の出力を変更できます。起動時に "-progout" をつけると第1パスの途中結果を漸次的に出力します。また "-quiet" で以下のようにシンプルな出力にできます。
58000 samples (3.62 sec.) pass1_best: 師匠 の 指導 力 が 問わ れる ところ だ 。 sentence1: 首相 の 指導 力 が 問わ れる ところ だ 。以上でファイルの認識は終わりです.
起動後、以下のようなプロンプトが出て入力開始待ちになります。
<<< please speak >>>マイクに向かって発声を開始すると、同時に第1パスの認識処理が開始されます. 発声を止めると,そこで第1パスを打ち切って第2パスを実行し、最終的な認識結果を出力してまた上記プロンプトへもどります.
起動して最初の1入力は正しく認識できませんので注意してください。また周囲の雑音を検出して認識が始まってしまう場合や,逆に喋っても認識が始まらない場合は, マイクの録音レベルを調節してください.
動作条件などマイク入力に関する詳細は「マイク入力について」をご覧下さい.