Rev.3.3 からは,従来と同様の制約を持つ『通常版』と別に,新たに『マルチ パス音響モデル対応版』の Julius/Julian を提供します.このバージョンは, 初期状態からの複数遷移および最終状態への複数遷移を含むモデルを扱うこと ができます.これによって,マルチパス音響モデルなど,複雑なモデル内遷移 を持つ音響モデルを使用することができます.
この拡張された『マルチパス音響モデル対応版』は,ループ・スキップを含む ほぼ任意のモデル内遷移に対応しています.(ただし,初期状態から最終状態 への直接遷移のみ未対応です)
『マルチパス音響モデル対応版』は,通常版とは別のソースアーカイブとして提 供されます.コンパイルおよび使用方法は通常版と同一です. なおアルゴリズムの拡張により,同じモデルを用いた際の認識速度は通常版に 比べて若干(1% 前後)低下しますのでご注意ください.
マルチパス版のためのアルゴリズム変更については,参考文献[6]をご覧ください.
起動時にオプション "-module
" をつけることで『サーバーモ
ジュールモード』で起動します.クライアントと接続後認識を開始し,クライ
アントへは認識結果や音声トリガ情報などのメッセージが送信され,クライア
ントからは認識開始や中断の指示が行えます.またJulianでは,クライアント
からの認識文法切り替え・複数文法同時認識が行えます.
クライアントは tcp/ip ソケットを通じて Julius/ Julian と通信します.サ
ンプルのクライアントプログラム "jcontrol
" が収められてい
ます.使用方法と使用例については,サーバーモジュー
ルモードについてあるいはjcontrolマニュアルをご覧ください.
動作の詳細はサーバーモジュールモードについて ,jcontrolマニュアル,および参考文献[7]をご覧ください.
文法の追加および削除は,サーバーモジュールモードでクライアントから行い ます.音声認識実行中に指示があった場合,その音声入力が終了して入力待ち 状態になったときに更新されます.また,Julian に読み込まれた個々の文法 の一時的な ON/OFF (activate/deactivate) も可能です.
実現の仕組みとしては,全文法をJulian内部で結合し,単一のグローバル文法 を生成してその上で認識が行われる単一デコーディング方式を採っています. 全文法中の候補の中でもっとも尤度の高かった候補が認識結果として出力され ます.
詳細はサーバーモジュールモードについて,jcontrolマニュアルおよび参考文献[7]をご覧ください.
-sscalc SS を行なう -sscalclen msec -sscalc 時,各ファイルの先頭の msec 分を無音部 とみなし,その範囲の平均スペクトルで SS を行な う.単位はミリ秒(default: 300ms)
-ssload filename filename から SS 用のノイズスペクトルデータを 読み込む.ノイズスペクトルデータは,あらかじめ 作成ツール "mkss" で作成しておく.
-ssalpha SS の減算係数(default: 2.0) -ssfloor SS のフロアリング値(default: 0.5)SS はパワースペクトルで行なっています.
|S(f)|^2 = |Y(f)|^2 - \alpha |N(f)|^2この減算計数 alpha の値を
-ssalpha
で指定します.デフォルトは 2.0 です.
また,上記のスペクトル減算の結果マイナス値となるスペクトル成分に対して
はフロアリングを行います.このフロアリング値としては「減算前の元スペク
トルパワーの定数倍」を用います.この定数値を -ssfloor
で
指定します.デフォルトは 0.5 です.
-input adinnet
")が正式にサポート
されました.他のクライアントホストで録音した音声をネットワーク経由で
Julius/Julian に送り込んで認識することができます.音声入力クライアント
としては,付属ツール "adintool
" を用いることができま
す.
音声の切り出しについては,
adintool
)側で音声区間切り出しを行い,個々
の区間を逐次 Julius/ Julian へ送信して認識する
adintool
のマニュアルの実行例を参照してください.
また,標準入力からの音声入力 ("-input stdin
") が新たにサポートされました.
音声波形フォーマットは RAW(16bit, BE)あるいは WAV(無圧縮) のどちらかの
みです.
-cmnsave filename
" で CMN のパラメータ
をファイルに書き出すことができます.Julius/Julian では CMN パラメータ
は最新の5秒分の入力を用いて認識終了ごとに逐次更新しているため,このファ
イルも1入力ごとに上書きで更新されます.
また,"-cmnload filename
" で上記で保存した CMN パラメータを読
み込んで初期値とすることができます.ファイルが無い場合は無視されます.
想定する使用法としては,"-cmnsave foo.cmn -cmnload
foo.cmn
" とすることで,
foo.cmn
があれば読み込む
foo.cmn
に保存される
-walign
"(単語単位),
"-palign
"(音素単位)に加えて,HMM状態単位のセグメンテー
ション "-salign
" が可能になりました.モデル内の状態系列の
番号もあわせて出力されます.
adintool
"
を整備しました.音声ファイルからの音声区間連続切り出し,Julius/Julian
のネットワーク経由入力 ("-input adinnet
") への音声送信な
どの使い方ができます.詳細は各マニュアルをご覧ください.
adinrec
" - マイク入力録音ツール(1発話を切り出してファイルに記録)
adintool
" - 多目的音声区間検出・記録・送信ツール
mkdfa.pl
, mkfa
" - 文法コンパイラ
yomi2voca.pl
" - ひらがな→音素表記変換スクリプト(IPA音素体系用)
generate
" - 受理文ランダム生成ツール
accept_check
" - 入力文の受理/非受理検証ツール
nextword
" - 次単語予測検証ツール
-b2
") のアルゴリズムが正しく実装されていな
かったバグを修正
.man
)
および日本語(.man.ja
)があります.
デフォルトでは英語マニュアルがインストールされます.日本語マニュアルを
上書きインストールしたい場合は,Julius/Julian インストール時に
% make install.man.ja
としてください.
libsent
以下は英語コメントのみ,
julius
以下主要部分を日本語と英語で併記しています.
-filelist listfile
" を特徴量ファイル入力 "-input
mfcfile
" 入力でも可能にした.
-delwin
" でデルタウィンドウ幅を指定可能にした.
<NUMMIXES> 1
"という定義があるとき
に読み込みに失敗する問題を修正.