名前

julius — 大語彙連続音声認識エンジン

概要

julius [-C jconffile] [options...]

内容

Julius は数万語を対象とした大語彙連続音声認識を行うことのできるフリー の認識エンジンです.単語N-gramを用いた2パス構成の段階的探索により高精度な認識を行うことができます.また,小規模語彙のための文法ベースの認識や単単語認識も行うことができます.認識対象としてマイク入力,録音済みの音声波形ファイル,特徴抽出したパラメータファイルなどに対応しています.

コアの認識処理は,全て JuliusLib ライブラリとして提供されています. JuliusはJuliusLibを用いる音声アプリケーションの一つです.

Julius を用いて音声認識を行うには,音響モデル,単語辞書,および言語モデルが必要です.

設定

Julius および JuliusLib コアエンジンの設定(動作選択,設定,モデル指定, パラメータ変更など)は,すべてここで説明する「オプション」で指定する. Julius に対しては,これらのオプションをコマンドライン引数として直接指定するか,あるいはテキストファイル内に記述したものを "-C" につづけて指定する.このオプションを記述したテキストファイルは "jconf 設定ファイル" と呼ばれる.

JuliusLib を用いる他のアプリケーションにおいても,JuliusLib内の認識エンジンへの動作指定は,同様にこのオプション群で行う.jconf 設定ファイルに設定内容を記述して,それをメイン関数の最初で j_config_load_file_new(char *jconffile); で呼び出すことで,JuliusLib 内の認識エンジンに設定をセットすることができる.

なお,jconf 設定ファイル内では,相対ファイルパスはその jconf ファイルの位置からの相対パスとして解釈される(カレントディレクトリではない). 注意されたい.

以下に各オプションを解説する.

Julius アプリケーションオプション

JuliusLib とは独立した,アプリケーションとしての Julius の機能に関するオプションである.認識結果の出力,文字コード変換,ログの設定,モジュー ルモードなどを含む.これらのオプションは,JuliusLib を組み込んだ他のアプリケーションでは使用できないので注意すること.

-outfile

認識結果を個別のファイルに出力する.入力ファイルごとの認識結果を, その拡張子を ".out" に変えたファイルに保存する. (rev. 4.0)

-separatescore

認識結果で言語スコアと音響スコアを個別に出力する.指定しない場 合,和の値が認識結果のスコアとして出力される.

-callbackdebug

コールバックがJuliusLibから呼ばれたときにコールバック名を 標準出力に出力する.デバッグ用である.(rev.4.0)

-charconv from to

出力で文字コードの変換を行う.from は言語モデルの文字セットを,to は出 力の文字セットを指定する.文字セットは,Linux では iconv で用いられるコード名である.Windows では,コードページ番号あるいはいかに示すコード名のどれかである: ansi, mac, oem, utf-7, utf-8, sjis, euc

-nocharconv

文字コード変換を行わない.-charconv の指定を リセットする.

-module [port]

Julius を「サーバモジュールモード」で起動する.TCP/IP 経由でク ライアンとやりとりし,処理の制御や認識結果・イベントの通知が行 える.port はポート番号であり,省略時は 10500 が用いられる.

-record dir

区間検出された入力音声をファイルに逐次保存する. dirは保存するディレクトリを指定する. ファイル名は,それぞれの処理終了時のシステム時間から YYYY.MMDD.HHMMSS.wavの形で保存される.ファ イル形式は16bit, 1チャンネルのWAV形式である. なお,入力がGMM等によって棄却された場合も記録される.

-logfile file

通常 Julius は全てのログ出力を標準出力に出力する. このオプションを指定することで,それらの出力を指定ファイルに 切替えることができる.(Rev.4.0)

-nolog

ログ出力を禁止する.標準出力には何も出力されなくなる. (Rev.4.0)

-help

エンジン設定,オプション一覧などのヘルプを出力して終了する.

全体オプション

全体オプションは,モデルや探索以外のオプションであり, 音声入力・音検出・GMM・プラグイン・その他の設定を含む. 全体オプションは, 音響モデル(-AM)・言語モデル(-LM)・デコーダ(-SR)などのセクション定義の前に定義するか, -GLOBAL のあとに指定する.

オーディオ入力

-input {mic|rawfile|mfcfile|adinnet|stdin|netaudio|esd|alsa|oss}

音声入力ソースを選択する.音声波形ファイルの場合は fileあるいはrawfileを指 定する.HTK 形式の特徴量ファイルを認識する場合は htkparamあるいはmfcfile を指定する.起動後にプロンプトが表れるので,それに対してファイ ル名を入力する.adinnet では, adintool などのクライアントプロセスから音声 データをネットワーク経由で受け取ることができる. netaudio はDatLinkのサーバから, stdinは標準入力からの音声入力を認識する. esdは,音声デバイスの共有手段として多くの Linuxのデスクトップ環境で利用されている EsounD daemon からの入 力を認識する.

-filelist filename

(-input rawfile|mfcfile 時) filename内に列挙されている全てのファ イルについて認識を順次行う. filenameには認識する入力ファイル名 を1行に1つずつ記述する.

-notypecheck

入力の特徴量ベクトルの型チェックを無効にする.通常 Julius は入 力の型が音響モデルとマッチするかどうかをチェックし,マッチしない とエラー終了する.このオプションはそのチェックを回避する.なんらかの 理由で型チェックがうまく動作しないときに使用する.

-48

48kHzで入力を行い,16kHzにダウンサンプリングしながら認識する. これは 16kHz のモデルを使用しているときのみ有効である. ダウンダンプリングの内部機能は sptk から 移植された. (Rev. 4.0)

-NA devicename

DatLink サーバのデバイス名 (-input netaudio).

-adport port_number

-input adinnet 使用時,接続を受け付ける adinnet のボート番号を指定する.(default: 5530)

-nostrip

音声取り込み時,デバイスやファイルによっては,音声波形中に振幅 が "0" となるフレームが存在することがある.Julius は通常,音声 入力に含まれるそのようなフレームを除去する.この零サンプル除去が うまく動かない場合,このオプションを指定することで自動消去を 無効化することができる.

-zmean , -nozmean

入力音声ストリームに対して直流成分除去を行う.全ての音声処理の の前段として処理される. -zmeansourceオプションも見よ.

レベルと零交差による入力検知

-cutsilence , -nocutsilence

レベルと零交差による入力検知を行うかどうかを指定する.デフォル トは,リアルタイム認識(デバイス直接入力およびネットワーク入力) では on, ファイル入力では off である.このオプションを指定する ことで,例えば長時間録音された音声ファイルに対して音声区間検出 を行いながら認識を行うこともできる.

-lv thres

振幅レベルのしきい値.値は 0 から 32767 の範囲で指定する. (default: 2000)

-zc thres

零交差数のしきい値.値は1秒あたりの交差数で指定する. (default: 60)

-headmargin msec

音声区間開始部のマージン.単位はミリ秒. (default: 300)

-tailmargin msec

音声区間終了部のマージン.単位はミリ秒. (default: 400)

入力棄却

入力長,あるいは平均パワーによる入力の事後棄却が行える. 平均パワーによる棄却は,デフォルトでは無効化されており,ソースからコンパイルする際に configure--enable-power-reject を指定することで有効となる. リアルタイム認識時で,かつ特徴量でパワー項を持つ場合のみ使用できる.

-rejectshort msec

検出された区間長がmsec以下の入力を 棄却する.その区間の認識は中断・破棄される.

-powerthres thres

切り出し区間の平均パワーのしきい値.(Rev.4.0)

このオプションはコンパイル時に --enable-power-rejectが指定されたときに 有効となる.

GMM / GMM-VAD

-gmm hmmdefs_file

GMM定義ファイル.3状態(出力状態が1つのみ)のHMMとして定義す る.形式はHTK形式で与える.形式や使用できる特徴量の制限は音響 モデルと同じである. なお,GMMで用いるMFCC特徴量の設定は, -AM_GMMのあとに音響モデルと同様に指定する.こ の特徴量設定は音響モデルと別に,明示的に指定する必要があること に注意が必要である.

-gmmnum number

GMM指定時,計算するガウス分布数を指定する.フレームごとにGMMの 出力確率を求める際,各モデルで定義されている混合ガウス分布のう ち,このnumberで指定した数の上位ガ ウス分布の確率のみを計算する.小さな値を指定するほどGMMの計算 量を削減できるが,計算精度が悪くなる.(default: 10)

-gmmreject string

GMMで定義されているモデル名のうち,非音声として棄却すべきモデ ルの名称を指定する.モデル名を複数指定することができる.複数指 定する場合は,空白を入れずコンマで区切って一つの stringとして指定する.

-gmmmargin frames

(GMM_VAD) GMM VAD による区間検出の開始部マージン.単位はフレー ム数で指定する.(default: 20) (Rev. 4.0)

このオプションは--enable-gmm-vad付きでコンパイル されたときに有効となる.

-gmmup value

(GMM_VAD) 音声区間の開始とみなす VAD スコアの閾値.VADスコアは (音声GMMの最大尤度 - 非音声HMMの最大尤度) で表される. (Default: 0.7) (Rev.4.1)

このオプションは--enable-gmm-vad付きでコンパイル されたときに有効となる.

-gmmdown value

(GMM_VAD) 音声区間の終了とみなす VAD スコアの閾値.VADスコアは (音声GMMの最大尤度 - 非音声HMMの最大尤度) で表される. (Default: -0.2) (Rev.4.1)

このオプションは--enable-gmm-vad付きでコンパイル されたときに有効となる.

デコーディングオプション

デコーディングオプションは,使用する認識アルゴリズムに関する設定を行うオプションである.この設定はエンジン全体に対する設定であり,全ての認識処理インスタンスで共通の設定となる.探索の幅や言語重みなどの個々のデコー ディング設定については,認識処理インスタンスごとに指定する.

-realtime , -norealtime

入力と並行してリアルタイム認識を行うかどうかを明示的に指定する. デフォルトの設定は入力デバイスに依存し,マイクロフォン等のデバ イス直接認識,ネットワーク入力,および DatLink/NetAudio 入力の 場合は ON, ファイル入力や特徴量入力についてはOFFとなっている.

その他

-C jconffile

jconf設定ファイルを読み込む.ファイルの内容がこの場所に展開される.

-version

バージョン情報を標準エラー出力に出力して終了する.

-setting

エンジン設定情報を標準エラー出力に出力して終了する.

-quiet

出力を抑制する.認識結果は単語列のみが出力される.

-debug

(デバッグ用) モデルの詳細や探索過程の記録など,様々な デバッグ情報をログに出力する.

-check {wchmm|trellis|triphone}

デバッグ用のチェックモードに入る.

-plugindir dirlist

プラグインを読み込むディレクトリを指定する.複数の場合は コロンで区切って並べて指定する.

複数モデル認識のためのインスタンス宣言

-AM name

音響モデルインスタンスを新たに宣言する.以降の音響モデルに関す る設定はこのインスタンスに対するものと解釈される. name にはインスタンスにつける名前を 指定する(既にある音響モデルインスタンスと同じ名前であってはい けない). (Rev.4.0)

-LM name

言語モデルインスタンスを新たに宣言する.以降の言語モデルに関す る設定はこのインスタンスに対するものと解釈される. name にはインスタンスにつける名前を 指定する(既にある言語モデルインスタンスと同じ名前であってはい けない). (Rev.4.0)

-SR name am_name lm_name

認識処理インスタンスを新たに宣言する.以降の認識処理や探索に関 する設定はこのインスタンスに対するものと解釈される. name にはインスタンスにつける名前を 指定する(既にある認識処理インスタンスと同じ名前であってはいけ ない).am_name, lm_name にはそれぞれこのインスタン スが使用する音響モデルと言語モデルのインスタンスを名前,あるい は ID 番号で指定する.(Rev.4.0)

-AM_GMM

GMM使用時に,GMM計算のための特徴量抽出パラメータを,この宣言の あとに指定する.もし GMM 使用時にこのオプションでGMM用の特徴量 パラメータを指定しなかった場合,最後に指定した音響モデル用の特 徴量がそのまま用いられる. (Rev.4.0)

-GLOBAL

全体オプション用のセクションを開始する.-AM, -LM, -SR などのインスタンス 宣言を用いる場合,音声入力設定などの全体オプションは,これらの 全てのインスタンス定義よりも前か,あるいはこのオプションの あとに指定する必要がある.この全体オプション用のセクションは, jconf 内で何回現れても良い. (Rev.4.1)

-nosectioncheck , -sectioncheck

複数インスタンスを用いる jconf において,オプションの位置チェッ クの有効・無効を指定する.有効である場合,ある種類のインスタン スの宣言がされたあとは,他のインスタンス宣言が現れるまで,その インスタンスのオプションしか指定できない(例: -AM のあと,他の -AM-LMなどが現れるまで,音響モデルオプションしか 指定できない.他のオプションがあらわれた場合はエラーとなる). また,全体オプションは全てのモデルインスタンスの前に指定する必 要がある.デフォルトでは有効になっている.(Rev.4.1)

言語モデル (-LM)

このグループには,各モデルタイプごとに指定するオプションが含まれている. 一つのインスタンスには一つのモデルタイプだけが指定可能である.

N-gram

-d bingram_file

使用するN-gramをバイナリファイル形式で指定する. バイナリ形式への変換は mkbingram を 使用する.

-nlr arpa_ngram_file

前向き (left-to-right) のN-gram 言語モデルを指定する. arpa_ngram_file はARPA標準形式のファ イルである必要がある.

-nrl arpa_ngram_file

後ろ向き (right-to-left) のN-gram 言語モデルを指定する. arpa_ngram_file はARPA標準形式のファ イルである必要がある.

-v dict_file

N-gram,または文法用の単語辞書ファイルを指定する.

-silhead word_string -siltail word_string

音声入力両端の無音区間に相当する「無音単語」エントリを指定する. 単語の読み(N-gramエントリ名),あるいは"#"+単語番号(辞書ファ イルの行番号-1)で指定する.デフォルトはそれぞれ "<s>", "</s>" である.

-mapunk word_string

unknown に対応する単語名を指定する.デフォルトは, "<unk>" あるいは "<UNK>" である.この単語は, 認識辞書において N-gram にない単語を指定した場合にマッピングされ る単語である.

-iwspword

ポーズに対応する無音単語を辞書に追加する.追加される単語の内容は オプション-iwspentryで変更できる.

-iwspentry word_entry_string

-iwspword指定時に追加される単語エントリの内容 を指定する.辞書エントリと同じ形式で指定する.(default: "<UNK> [sp] sp sp")

-sepnum number

木構造化辞書の構築時に線形登録する単語数を指定する.(default: 150)

文法

-gram-gramlistで文法を複数回指定することで,一つのインスタンス内で複数の文法を用いることができる. (旧Juliusのオプション -dfa, -v の組合せは単一の文法のみ指定可能である)

-gram gramprefix1[,gramprefix2[,gramprefix3,...]]

認識に使用する文法を指定する.文法はファイル(辞書および構文制約 有限オートマトン)のプレフィックスで指定する.すなわち,ある認 識用文法がdir/foo.dictdir/foo.dfa としてあるとき, dir/fooのように拡張子を省いた名前で指定する. 文法はコンマで区切って複数指定することができる.また繰り返し 使用することでも複数指定できる.

-gramlist list_file

認識に使用する文法のリストをファイルで指定する. list_fileには, -gram と同様の文法プレフィックスを1行に1つず つ記述する.また,このオプションを繰り返し使用することで,複数 のリストファイルを指定できる.なお,リスト内で文法を相対パスで 指定した場合,それは,そのリストファイルからの相対パスとして解 釈されることに注意が必要である.

-dfa dfa_file -v dict_file

認識に使用する文法の構文制約オートマトンと辞書をそれぞれ指定する. (Julius-3.x との互換性のための古いオプションであり,使用すべきでない)

-nogram

それまでに -gram-gramlist-dfa および -v で 指定された文法のリストをクリアし,文法の指定なしの状態 にする.

単単語

-w dict_file

単単語認識で用いる単語辞書を指定する.ファイル形式は単語N-gram や文法と同一である.辞書上の全ての単語が認識対象となる. (Rev.4.0)

-wlist list_file

単語辞書のリストを指定する.list_file には1行に一つずつ,使用する単語辞書のパスを記述する.相対パスを 用いた場合,それはそのlist_fileから の相対パスとして解釈される. (Rev.4.0)

-nogram

それまでに -w あるいは -wlistで 指定された辞書のリストをクリアし,指定なしの状態に戻す.

-wsil head_sil_model_name tail_sil_model_name sil_context_name

単単語認識時,音声入力の両端の無音モデルおよびそのコンテキスト 名を指定する. sil_context_nameとして NULLを指定した場合,各モデル名がそのまま コンテキストとして用いられる.

User-defined LM

-userlm

プログラム中のユーザ定義言語スコア計算関数を使用することを宣言 する.(Rev.4.0)

その他の言語モデル関連

-forcedict

単語辞書読み込み時のエラーを無視する.通常Juliusは単語辞書内に エラーがあった場合そこで動作を停止するが,このオプションを 指定することで,エラーの生じる単語をスキップして処理を続行する ことができる.

音響モデル・特徴量抽出 (-AM) (-AM_GMM)

音響モデルオプションは,音響モデルおよび特徴量抽出・フロントエンド処理に関する設定を行う.特徴量抽出,正規化処理,スペクトルサブトラクションの指定もここで行う.

音響HMM関連

-h hmmdef_file

使用するHMM定義ファイル. HTK の ASCII 形 式ファイル,あるいはJulius バイナリ形式のファイルのどちらかを 指定する.バイナリ形式へは mkbinhmm で 変換できる.

-hlist hmmlist_file

HMMlistファイルを指定する.テキスト形式,あるいはバイナリ形式 のどちらかを指定する.バイナリ形式へは mkbinhmmlist で変換できる.

-tmix number

Gaussianpruning の計算状態数を指定する.小さ いほど計算が速くなるが,音響尤度の誤差が大きくなる.See also -gprune. (default: 2)

-spmodel name

文中のショートポーズに対応する音韻HMMの名前を指定する.このポーズ モデル名は,-iwsp, -spsegment, -pausemodelsに関係する.また,文法使用時に スキップ可能なポーズ単語エントリの識別にも用いられる. (default: "sp")

-multipath -nomultipath

状態間遷移を拡張するマルチパスモードを有効にする.オプション指 定がない場合,Julius は音響モデルの遷移をチェックし,必要であ れば自動的にマルチパスモードを有効にする.このオプションは,ユー ザが明示的にモードを指定したい場合に使用する.

この機能は 3.x ではコンパイル時オプションであったが,4.0 より 実行時オプションとなった.(rev.4.0)

-gprune {safe|heuristic|beam|none|default}

使用する Gaussian pruning アルゴリズムを選択する. noneを指定すると Gaussian pruning を無効化 しすべてのガウス分布について厳密に計算する. safe は上位 N 個を計算する. heuristicbeam はsafe に比べてより積極的な枝刈りを行うため計算量削減の効果が大きいが, 認識精度の低下を招く可能性がある.defaultが 指定された場合,デフォルトの手法を使う.(default: tied-mixture model の場合,standard 設定ではsafe,fast設 定ではbeam.tied-mixture でない場合 none).

-iwcd1 {max|avg|best number}

第1パスの単語間トライフォン計算法を指定する. max 指定時,同じコンテキストのトライフォン集合の 全尤度の最大値を近似尤度として用いる.avg は 全尤度の平均値を用いる.best number は上位 N 個の トライフォンの平均値を用いる. デフォルトは,一緒に使用される言語モデルに依存する.N-gram使用 時には best 3,文法使用時は avgとなる.もしこの音響モデルが異なるタイプの 複数の言語モデルで共有される場合は,後に定義されたほうのデフォルトが デフォルト値として用いられる.

-iwsppenalty float

-iwspによって末尾に付加される単語末ショートポー ズの挿入ペナルティ.ここで指定した値が,通常単語の末尾から単語 末ショートポーズへの遷移に追加される.

-gshmm hmmdef_file

Gaussian Mixture Selection 用のモノフォン音響モデルを指定する. GMS用モノフォンは通常のモノフォンから mkgshmm によって生成できる.

-gsnum number

GMS 使用時,対応するトライフォンを詳細計算するモノフォンの 状態の数を指定する. (default: 24)

特徴量抽出パラメータ

-smpPeriod period

音声のサンプリング周期を指定する.単位は,100ナノ秒の単位で指 定する.サンプリング周期は -smpFreq でも指定 可能.(default: 625)

このオプションは HTKSOURCERATE に対応する.同じ値が指定できる.

複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.

-smpFreq Hz

音声のサンプリング周波数 (Hz) を指定する.(default: 16,000)

複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.

-fsize sample_num

窓サイズをサンプル数で指定 (default: 400).

このオプションは HTKWINDOWSIZE に対応する.ただし値はHTKと異なり,(HTKの値 / smpPeriod) となる.

複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.

-fshift sample_num

フレームシフト幅をサンプル数で指定 (default: 160).

このオプションは HTKTARGETRATE に対応する.ただし値はHTKと異なり,(HTKの値 / smpPeriod) となる.

複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.

-preemph float

プリエンファシス係数 (default: 0.97)

このオプションは HTKPREEMCOEF に対応する.同じ値が指定できる.

-fbank num

フィルタバンクチャンネル数.(default: 24)

このオプションは HTKNUMCHANS に対応する.同じ値が指定できる.指定しないときのデフォルト値が HTKと異なっていることに注意(HTKでは22).

-ceplif num

ケプストラムのリフタリング係数. (default: 22)

このオプションは HTKCEPLIFTER に対応する.同じ値が指定できる.

-rawe , -norawe

エネルギー項の値として,プリエンファシス前の raw energy を使用 する / しない (default: disabled=使用しない)

このオプションは HTKRAWENERGY に対応する. 指定しないときのデフォルトがHTKと異なっていることに注意(HTKで はenabled).

-enormal , -noenormal

エネルギー項の値として,発話全体の平均で正規化した正規化エネルギー を用いるかどうかを指定する.(default: -noenormal)

このオプションは HTKENORMALISE に対応する. 指定しないときのデフォルトがHTKと異なっていることに注意(HTKで はenabled).

-escale float_scale

エネルギー正規化時の,対数エネルギー項のスケーリング係数. (default: 1.0)

このオプションは HTKESCALE に対応する.デフォルト値がHTKと異なっていることに注意(HTKでは 0.1).

-silfloor float

エネルギー正規化時の,無音部のエネルギーのフロアリング値. (default: 50.0)

このオプションは HTKSILFLOOR に対応する.同じ値が指定できる.

-delwin frame

一次差分計算用のウィンドウフレーム幅.(default: 2)

このオプションは HTKDELTAWINDOW に対応する.同じ値が指定できる.

-accwin frame

二次差分計算用のウィンドウフレーム幅.(default: 2)

このオプションは HTKACCWINDOW に対応する.同じ値が指定できる.

-hifreq Hz

MFCCのフィルタバンク計算時におけるバンド制限を有効化する.この オプションではカットオフ周波数の上限値を指定する. -1 を指定することで無効化できる.(default: -1)

このオプションは HTKHIFREQ に対応する.同じ値が指定できる.

-lofreq Hz

MFCCのフィルタバンク計算時におけるバンド制限を有効化する.この オプションではカットオフ周波数の下限値を指定する. -1 を指定することで無効化できる.(default: -1)

このオプションは HTKLOFREQ に対応する.同じ値が指定できる.

-zmeanframe , -nozmeanframe

窓単位の直流成分除去を有効化/無効化する. (default: disabled)

このオプションは HTKZMEANSOURCE に対応する.-zmean も参照のこと.

-usepower

フィルタバンク解析で振幅の代わりにパワーを使う.(default: disabled)

正規化処理

-cvn

ケプストラム分散正規化 (cepstral variance normalization; CVN) を有効にする.ファイル入力では,入力全体の分散に基づいて正規化 が行われる.直接入力ではあらかじめ分散が得られないため,最後の 入力の分散で代用される.音声信号入力でのみ有効である.

-vtln alpha lowcut hicut

周波数ワーピングを行う.声道長正規化 (vocal tract length normalization; VTLN) に使用できる.引数はそれぞれワーピング 係数,周波数上端,周波数下端であり,HTK設定の WARPFREQWARPHCUTOFF および WARPLCUTOFF に対応する.

-cmnload file

起動時にケプストラム平均ベクトルを fileから読み込む.ファイルは -cmnsave で保存されたファイルを指定する.これ は MAP-CMN において,起動後最初の発話においてケプストラム平均 の初期値として用いられる.通常,2発話目以降は初期値は,直前の 入力の平均に更新されるが,-cmnnoupdateを指定 された場合,常にこのファイルの値が各発話の初期値として用いられ る.

-cmnsave file

認識中に計算したケプストラム平均ベクトルを fileへ保存する.すでにファイルがあ る場合は上書きされる.この保存は音声入力が行われるたびに上書きで 行われる.

-cmnupdate -cmnnoupdate

実時間認識時,初期ケプストラム平均を入力ごとに更新するかどうか を指定する.通常は有効 (-cmnupdate) であり, 過去5秒間の入力の平均を初期値として更新する. -cmnnoupdate が指定された場合,更新は行われず, 初期値は起動時の値に固定される.-cmnload で初期値 を指定することで,常に同じ初期値を使うようにすることができる.

-cmnmapweight float

MAP-CMN の初期ケプストラム平均への重みを指定する.値が大きいほ ど初期値に長時間依存し,小さいほど早く現入力のケプストラム平均 を用いるようになる.(default: 100.0)

フロントエンド処理

-sscalc

入力先頭の無音部を用いて,入力全体に対してスペクトルサブトラク ションを行う.先頭部の長さは-sscalclenで指定する. ファイル入力に対してのみ有効である.-ssload と 同時に指定できない.

-sscalclen msec

-sscalcオプション指定時,各ファイルにおいて ノイズスペクトルの推定に用いる長さをミリ秒で指定する.(default: 300)

-ssload file

ノイズスペクトルをfileから読み込ん でスペクトルサブトラクションを行う. fileはあらかじめ mkssで作成する.マイク入力・ネットワーク入 力などのオンライン入力でも適用できる.-sscalcと 同時に指定できない.

-ssalpha float

-sscalcおよび-ssload用の 減算係数を指定する.この値が大きいほど強くスペクトル減算を行うが, 減算後の信号の歪も大きくなる.(default: 2.0)

-ssfloor float

スペクトルサブトラクションのフロアリング係数を指定する.スペク トル減算時,計算の結果パワースペクトルが負となってしまう帯域に 対しては,原信号にこの係数を乗じたスペクトルが割り当てられる. (default: 0.5)

その他の音響モデル関連オプション

-htkconf file

HTK Config ファイルを解析して,対応する特徴量抽出オプションを Julius に自動設定する.fileHTK で音響モデル学習時に使用した Config ファイルを指定する.なお, Julius と HTK ではパラメータのデフォルト値が一部異なるが, このオプションを使用する場合,デフォルト値も HTK のデフォルト に切替えれられる.

認識処理・探索 (-SR)

認識処理・探索オプションは,第1パス・第2パス用のビーム幅や言語重みのパラメータ,ショートポーズセグメンテーションの設定,単語ラティス・CN 出力用設定,forced alignment の指定,その他の認識処理と結果出力に関するパラメータを含む.

第1パスパラメータ

-lmp weight penalty

(N-gram使用時) 第1パス用の言語スコア重みおよび挿入ペナルティ. ペナルティは負であれば単語挿入を抑制し,正であれば単語挿入を促 進する.

-penalty1 penalty

(文法使用時) 第1パス用の単語挿入ペナルティ. (default: 0.0)

-b width

第1パス探索の枝刈り (rank pruning) のビーム幅を指定する.単位 は HMM ノード数である. デフォルト値は音響モデルやエンジンの設定による.モノフォン 使用時は400, トライフォン使用時は800,トライフォンでかつ setup=v2.1 のときは 1000 となる.

-nlimit num

第1パスでノードごとに保持する仮説トークンの最大数.通常は 1 で 固定されており変更できない.コンパイル時に configure--enable-wpairおよび --enable-wpair-nlimit が指定されているとき のみ変更できる.

-progout

第1パスで,一定時間おきにその時点での最尤仮説系列を出力する.

-proginterval msec

-progoutの出力インターバルをミリ秒で指定する. (default: 300)

第2パスパラメータ

-lmp2 weight penalty

(N-gram使用時) 第2パス用の言語スコア重みおよび挿入ペナルティ. ペナルティは負であれば単語挿入を抑制し,正であれば単語挿入を促 進する.

-penalty2 penalty

(文法使用時) 第2パス用の単語挿入ペナルティ. (default: 0.0)

-b2 width

第2パス探索における仮説展開回数の上限を指定する.単位は 仮説数.(default: 30)

-sb float

第2パスの仮説尤度計算時のスコア幅を指定する.単位は対数尤度差 である.(default: 80.0)

-s num

仮説のスタックサイズを指定する.(default: 500)

-n num

num個の文仮説数が見付かるまで探索を 行う.得られた仮説はスコアでソートされて出力される (-outputも見よ).デフォルト値はコンパイル時 のエンジン設定によって変わり,fast 版では 1, standard版では10 である.

-output num

見つかったN-best候補のうち,結果として出力する文仮説の数を 指定する.-nも参照のこと.(default: 1)

-m count

探索打ち切りのための仮説展開回数のしきい値を指定する. (default: 2000)

-lookuprange frame

第2パスの単語展開時に,接続しうる次単語候補を見付けるための 終端時刻の許容幅をフレーム数で指定する.値を大きくするほど その周辺の多くの仮説を次単語候補として仮説展開が行われるように なるが,探索が前に進みにくくなることがある.(default: 5)

-looktrellis

仮説展開を第1パスの結果単語トレリス上に絞る.

ショートポーズセグメンテーション

-spsegment

ショートポーズセグメンテーションを有効にする. (Rev.4.0)

-spdur frame

無音区間判定のためのしきい値を指定する.無音単語が一位仮説とな るフレームがこの値以上続いたとき,無音区間として入力が区切られ る.(default: 10)

-pausemodels string

「無音単語」を定義するための音響モデルにおける無音モデルの名前 を指定する.コンマで区切って複数の名前を指定できる. このオプションが指定されない場合,文法を用いた認識では -spmodel で指定されるモデルのみを読みとする単 語が無音単語とされる.また,N-gramではこれに加えて -silhead および -siltail で 指定される単語も無音単語として扱われる.(Rev.4.0)

-spmargin frame

デコーダベースVADにおいて,アップトリガ時の巻戻し幅をフレーム 数で指定する.(Rev.4.0)

このオプションはconfigure--enable-decoder-vadを付けてコンパイルしたとき のみ有効である.

-spdelay frame

デコーダベースVADにおいて,アップトリガ判定の遅延幅をフレーム 数で指定する.(Rev.4.0)

このオプションはconfigure--enable-decoder-vadを付けてコンパイルしたとき のみ有効である.

単語ラティス / confusion network 出力

-lattice , -nolattice

単語グラフ(ラティス)の出力を有効化/無効化する.

-confnet , -noconfnet

Confusion network の出力を有効化/無効化する.confusion network は単語グラフから生成されるため,有効時は同時に -lattice も有効化される.(Rev.4.0)

-graphrange frame

グラフ生成において近傍の同一単語仮説をマージする.開始フレーム および終了フレームの位置の差がそれぞれ frame以下の同一単語仮説についてマー ジする.その際,スコアは高いほうのものが残される.値が -1 の場 合,マージは一切行われない.値を大きくするほどコンパクトなグラ フが生成されるが,スコアの誤差が大きくなる.このオプションは -confnetにも影響する.(default: 0)

-graphcut depth

生成されたグラフに対して,深さによるカットオフを行う. depthは,あるフレームにおいて存在可 能な単語数の上限を指定する.Julius では,第2パスの探索が不安定 な場合,一部分が極端に深いグラフが生成されることが稀にあり,こ のオプションによってそれを抑制することができる.-1 を指定する ことでこの機能は無効化される.(default: 80)

-graphboundloop count

事後的に行われる単語グラフの境界時間調整において,振動による 無限ループを防ぐための打ち切り値を指定する.(default: 20)

-graphsearchdelay , -nographsearchdelay

巨大グラフ生成用にアルゴリズムをチューニングする.このオプショ ンが有効時,Julius は第1文仮説が見つかる前のグラフ生成時の仮説 中断を行わないように,グラフ生成アルゴリズムを変更する.これは, ビーム幅や探索範囲を極端に大きくして巨大なワードグラフを生成し ようとするときに,グラフの精度を改善することがある.(default: disabled)

複数文法/複数辞書認識

文法や単単語認識において,一つのインスタンスで複数の文法や辞書を用いる 場合に指定できるオプションである.

-multigramout , -nomultigramout

複数文法あるいは複数辞書を用いて認識を行う場合,通常の Julius は全ての文法/辞書の中から最尤仮説を出力する.このオプションを 指定することで,与えられた個々の文法/辞書ごとに一位仮説を 出力することができる.(default: disabled)

Forced alignment

-walign

認識結果を用いて,入力に対する単語単位の forced alignment を行 う.単語の境界フレームと平均音響尤度が出力される.

-palign

認識結果を用いて,入力に対する音素単位の forced alignment を行 う.音素ごとの境界フレームと平均音響尤度が出力される.

-salign

認識結果を用いて,入力に対するHMMの状態単位の forced alignment を行う.状態ごとの境界フレームと平均音響尤度が出力される.

その他

-inactive

認識処理インスタンスを一時停止状態 (inactive state) で起動する. (Rev.4.0)

-1pass

第1パスのみを実行する.このオプションを指定した場合,第2パスは 実行されない.

-fallback1pass

通常,第2パスの探索が失敗したとき,Julius は認識結果無しで終了 する.このオプションを指定することで,そのような第2パスの失敗時に, 第1パスの最尤仮説を最終結果として出力することができる. (これはJulius-3.xでのデフォルトの振る舞いである)

-no_ccd , -force_ccd

音響モデルを音素コンテキスト依存モデルとして扱うかどうかを明示 的に指定する.デフォルトはHMM中のモデル名から自動判断される.

-cmalpha float

確信度計算のためのスコアのスムージング係数.(default: 0.05)

-iwsp

(マルチパスモード時のみ有効)単語間にショートポーズモデルを 挟み込んだ認識処理を行う.このオプションを指定すると,辞書上の 全単語の末尾に,スキップ可能なショートポーズモデルが付加される. このショートポーズモデルはコンテキストを考慮せず,また前後の 音素のコンテキストにも表れない.付加するショートポーズモデルは -spmodel で指定できる.

-transp float

透過単語に対する追加の挿入ペナルティを指定する.(default: 0.0)

-demo

-progout -quietと同等.

ENVIRONMENT VARIABLES

ALSADEV

(マイク入力で alsa デバイス使用時) 録音デバイス名を指定する. 指定がない場合は "default".

AUDIODEV

(マイク入力で oss デバイス使用時) 録音デバイス名を指定する. 指定がない場合は "/dev/dsp".

PORTAUDIO_DEV

(portaudio V19 使用時) 録音デバイス名を指定する. 具体的な指定方法は adinrec の初期化時にログに出力されるので参照のこと.

LATENCY_MSEC

Linux (alsa/oss) および Windows で,マイク入力時の遅延時間をミ リ秒単位で指定する.短い値を設定することで入力遅延を小さくでき るが,CPU の負荷が大きくなり,また環境によってはプロセスやOSの 挙動が不安定になることがある.最適な値はOS やデバイスに大きく 依存する.デフォルト値は動作環境に依存する.

EXAMPLES

使用例については付属のチュートリアルをご覧下さい.

SEE ALSO

julian(1), jcontrol(1), adinrec(1), adintool(1), mkbingram(1), mkbinhmm(1), mkgsmm(1), wav2mfcc(1), mkss(1)

http://julius.sourceforge.jp/

DIAGNOSTICS

正常終了した場合,Julius は exit status として 0 を返します.エラーが見付かった場合は異常終了し, exist status として 1 を返します. 入力ファイルが見つからない場合やうまく読み込めなかった場合は,そのファイルに対する処理をスキップします.

BUGS

使用できるモデルにはサイズやタイプに若干の制限があります.詳しくはパッケージに付属のドキュメントを参照してください. バグ報告・問い合わせ・コメントなどは julius-info at lists.sourceforge.jp までお願いします.

COPYRIGHT

Copyright (c) 1991-2008 京都大学 河原研究室

Copyright (c) 1997-2000 情報処理振興事業協会(IPA)

Copyright (c) 2000-2008 奈良先端科学技術大学院大学 鹿野研究室

Copyright (c) 2005-2008 名古屋工業大学 Julius開発チーム

AUTHORS

Rev.1.0 (1998/02/20)

設計:河原達也と李 晃伸 (京都大学)

実装:李 晃伸 (京都大学)

Rev.1.1 (1998/04/14), Rev.1.2 (1998/10/31), Rev.2.0 (1999/02/20), Rev.2.1 (1999/04/20), Rev.2.2 (1999/10/04), Rev.3.0 (2000/02/14), Rev.3.1 (2000/05/11)

実装:李 晃伸 (京都大学)

Rev.3.2 (2001/08/15), Rev.3.3 (2002/09/11), Rev.3.4 (2003/10/01), Rev.3.4.1 (2004/02/25), Rev.3.4.2 (2004/04/30)

実装:李 晃伸 (奈良先端科学技術大学院大学)

Rev.3.5 (2005/11/11), Rev.3.5.1 (2006/03/31), Rev.3.5.2 (2006/07/31), Rev.3.5.3 (2006/12/29), Rev.4.0 (2007/12/19), Rev.4.1 (2008/09)

実装:李 晃伸 (名古屋工業大学)

THANKS TO

このプログラムは Rev.3.1 まで,情報処理振興事業協会(IPA)独創的情報技術育成事業「日本語ディクテーションの基本ソフトウェアの開発」(代表者:鹿野清宏 奈良先端科学技術大学院大学教授)の援助を受けて行われました. Rev.3.4.2までは「情報処理学会 連続音声認識コンソーシアム」において公開されました.

3.x 時代のマルチプラットフォーム DLL版 は,板野秀樹氏(現名城大学)の手によって作成・公開されました.また,Windows Microsoft Speech API対応版は住吉貴志氏(京都大学・当時)の手によるものです.

そのほか,上記の協力・貢献してくださった方々,およびさまざまな助言・コメントをいただく関係者各位に深く感謝いたします.