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 ファイルの位置からの相対パスとして解釈される(カレントディレクトリではない). 注意されたい.
以下に各オプションを解説する.
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
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
)
このグループには,各モデルタイプごとに指定するオプションが含まれている. 一つのインスタンスには一つのモデルタイプだけが指定可能である.
-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.dict
と
dir/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
を指定した場合,各モデル名がそのまま
コンテキストとして用いられる.
-AM
) (-AM_GMM
)
音響モデルオプションは,音響モデルおよび特徴量抽出・フロントエンド処理に関する設定を行う.特徴量抽出,正規化処理,スペクトルサブトラクションの指定もここで行う.
-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 個を計算する.
heuristic
と beam
は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)
このオプションは HTK の
SOURCERATE
に対応する.同じ値が指定できる.
複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.
-smpFreq
Hz
音声のサンプリング周波数 (Hz) を指定する.(default: 16,000)
複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.
-fsize
sample_num
窓サイズをサンプル数で指定 (default: 400).
このオプションは HTK の
WINDOWSIZE
に対応する.ただし値はHTKと異なり,(HTKの値 / smpPeriod) となる.
複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.
-fshift
sample_num
フレームシフト幅をサンプル数で指定 (default: 160).
このオプションは HTK の
TARGETRATE
に対応する.ただし値はHTKと異なり,(HTKの値 / smpPeriod) となる.
複数の音響モデルを用いる場合,全インスタンスで共通の値を指定する必要 がある.
-preemph
float
プリエンファシス係数 (default: 0.97)
このオプションは HTK の
PREEMCOEF
に対応する.同じ値が指定できる.
-fbank
num
フィルタバンクチャンネル数.(default: 24)
このオプションは HTK の
NUMCHANS
に対応する.同じ値が指定できる.指定しないときのデフォルト値が
HTKと異なっていることに注意(HTKでは22).
-ceplif
num
ケプストラムのリフタリング係数. (default: 22)
このオプションは HTK の
CEPLIFTER
に対応する.同じ値が指定できる.
-rawe
,
-norawe
エネルギー項の値として,プリエンファシス前の raw energy を使用 する / しない (default: disabled=使用しない)
このオプションは HTK の
RAWENERGY
に対応する.
指定しないときのデフォルトがHTKと異なっていることに注意(HTKで
はenabled).
-enormal
,
-noenormal
エネルギー項の値として,発話全体の平均で正規化した正規化エネルギー を用いるかどうかを指定する.(default: -noenormal)
このオプションは HTK の
ENORMALISE
に対応する.
指定しないときのデフォルトがHTKと異なっていることに注意(HTKで
はenabled).
-escale
float_scale
エネルギー正規化時の,対数エネルギー項のスケーリング係数. (default: 1.0)
このオプションは HTK の
ESCALE
に対応する.デフォルト値がHTKと異なっていることに注意(HTKでは 0.1).
-silfloor
float
エネルギー正規化時の,無音部のエネルギーのフロアリング値. (default: 50.0)
このオプションは HTK の
SILFLOOR
に対応する.同じ値が指定できる.
-delwin
frame
一次差分計算用のウィンドウフレーム幅.(default: 2)
このオプションは HTK の
DELTAWINDOW
に対応する.同じ値が指定できる.
-accwin
frame
二次差分計算用のウィンドウフレーム幅.(default: 2)
このオプションは HTK の
ACCWINDOW
に対応する.同じ値が指定できる.
-hifreq
Hz
MFCCのフィルタバンク計算時におけるバンド制限を有効化する.この オプションではカットオフ周波数の上限値を指定する. -1 を指定することで無効化できる.(default: -1)
このオプションは HTK の
HIFREQ
に対応する.同じ値が指定できる.
-lofreq
Hz
MFCCのフィルタバンク計算時におけるバンド制限を有効化する.この オプションではカットオフ周波数の下限値を指定する. -1 を指定することで無効化できる.(default: -1)
このオプションは HTK の
LOFREQ
に対応する.同じ値が指定できる.
-zmeanframe
,
-nozmeanframe
窓単位の直流成分除去を有効化/無効化する. (default: disabled)
このオプションは HTK の
ZMEANSOURCE
に対応する.-zmean
も参照のこと.
-usepower
フィルタバンク解析で振幅の代わりにパワーを使う.(default: disabled)
-cvn
ケプストラム分散正規化 (cepstral variance normalization; CVN) を有効にする.ファイル入力では,入力全体の分散に基づいて正規化 が行われる.直接入力ではあらかじめ分散が得られないため,最後の 入力の分散で代用される.音声信号入力でのみ有効である.
-vtln
alpha
lowcut
hicut
周波数ワーピングを行う.声道長正規化 (vocal tract length
normalization; VTLN) に使用できる.引数はそれぞれワーピング
係数,周波数上端,周波数下端であり,HTK設定の
WARPFREQ
,WARPHCUTOFF
および 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)
-SR
)
認識処理・探索オプションは,第1パス・第2パス用のビーム幅や言語重みのパラメータ,ショートポーズセグメンテーションの設定,単語ラティス・CN 出力用設定,forced alignment の指定,その他の認識処理と結果出力に関するパラメータを含む.
-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)
-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
を付けてコンパイルしたとき
のみ有効である.
-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)
-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
と同等.
ALSADEV
(マイク入力で alsa デバイス使用時) 録音デバイス名を指定する.
指定がない場合は "default
".
AUDIODEV
(マイク入力で oss デバイス使用時) 録音デバイス名を指定する.
指定がない場合は "/dev/dsp
".
PORTAUDIO_DEV
(portaudio V19 使用時) 録音デバイス名を指定する. 具体的な指定方法は adinrec の初期化時にログに出力されるので参照のこと.
LATENCY_MSEC
Linux (alsa/oss) および Windows で,マイク入力時の遅延時間をミ リ秒単位で指定する.短い値を設定することで入力遅延を小さくでき るが,CPU の負荷が大きくなり,また環境によってはプロセスやOSの 挙動が不安定になることがある.最適な値はOS やデバイスに大きく 依存する.デフォルト値は動作環境に依存する.
julian(1), jcontrol(1), adinrec(1), adintool(1), mkbingram(1), mkbinhmm(1), mkgsmm(1), wav2mfcc(1), mkss(1)
正常終了した場合,Julius は exit status として 0 を返します.エラーが見付かった場合は異常終了し, exist status として 1 を返します. 入力ファイルが見つからない場合やうまく読み込めなかった場合は,そのファイルに対する処理をスキップします.
使用できるモデルにはサイズやタイプに若干の制限があります.詳しくはパッケージに付属のドキュメントを参照してください. バグ報告・問い合わせ・コメントなどは julius-info at lists.sourceforge.jp までお願いします.
Copyright (c) 1991-2008 京都大学 河原研究室
Copyright (c) 1997-2000 情報処理振興事業協会(IPA)
Copyright (c) 2000-2008 奈良先端科学技術大学院大学 鹿野研究室
Copyright (c) 2005-2008 名古屋工業大学 Julius開発チーム
設計:河原達也と李 晃伸 (京都大学)
実装:李 晃伸 (京都大学)
実装:李 晃伸 (京都大学)
実装:李 晃伸 (奈良先端科学技術大学院大学)
実装:李 晃伸 (名古屋工業大学)
このプログラムは Rev.3.1 まで,情報処理振興事業協会(IPA)独創的情報技術育成事業「日本語ディクテーションの基本ソフトウェアの開発」(代表者:鹿野清宏 奈良先端科学技術大学院大学教授)の援助を受けて行われました. Rev.3.4.2までは「情報処理学会 連続音声認識コンソーシアム」において公開されました.
3.x 時代のマルチプラットフォーム DLL版 は,板野秀樹氏(現名城大学)の手によって作成・公開されました.また,Windows Microsoft Speech API対応版は住吉貴志氏(京都大学・当時)の手によるものです.
そのほか,上記の協力・貢献してくださった方々,およびさまざまな助言・コメントをいただく関係者各位に深く感謝いたします.