#include "search.h"
extern.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
extern.h で定義されています。
|
単語トレリスを保持する 単語トレリス 構造体を初期化する(起動時に1回だけ実行)
backtrellis.c の 74 行で定義されています。 参照元 final_fusion(). |
|
次回の認識用に 単語トレリス 構造体を準備する (認識開始時ごとに実行).
backtrellis.c の 96 行で定義されています。 |
|
第1パスで出現したトレリス単語(単語終端のトレリス情報)を格納する. ここでは格納だけ行い,第1パス終了後に bt_relocate_rw() で フレーム順に再配置する.
backtrellis.c の 144 行で定義されています。 |
|
第1パス終了後, 格納された単語トレリス情報をフレーム順に再配置する.
backtrellis.c の 170 行で定義されています。 参照元 finalize_1st_pass(). |
|
第1パス終了後, 第2パスでのトレリス再接続計算のために, 全時間に渡って各トレリス単語の終端の最終状態の出力尤度を再計算し, それを累積から差し引いておく.第2パスでは,仮説接続時には 接続仮説を考慮して接続点の状態の尤度が再計算される.
backtrellis.c の 315 行で定義されています。 |
|
bt_relocate_rw() 終了後, 高速アクセスのために バックトレリス構造体内のトレリス単語をフレームごとに 単語IDでソートしておく.
backtrellis.c の 390 行で定義されています。 参照元 finalize_1st_pass(). |
|
単語トレリス内の指定時刻フレーム上に,指定単語の終端があるかどうかを 検索する.
backtrellis.c の 428 行で定義されています。 参照元 next_word(), ngram_firstwords(), print_1pass_result(), と start_word(). |
|
単語先頭ノードのうちFactoring においてキャッシュが必要なノードの リストを作成する.. 1-gram factoring は,枝ノードにおいて直前単語に依存しない固定値 (unigramの最大値)を与える.このため,単語間の factoring 計算において, 木構造化辞書上で複数の単語で共有されている単語先頭ノードについては, その値は直前単語によらず固定値であり,認識時に単語間キャッシュを保持 する必要はない. この関数では,単語先頭ノードのリストからそのような factoring キャッシュが 不要なノードを除外して,1-gram factoring 時に単語間キャッシュが必要な 単語先頭ノード(=他の単語と共有されていない独立した単語先頭ノード)の リストを作成し,wchmm->start2isolate および wchmm->isolatenum に格納する.
factoring_sub.c の 715 行で定義されています。 参照元 build_wchmm2(). |
|
木構造化辞書上の全ノードに successor list を構築するメイン関数
factoring_sub.c の 360 行で定義されています。 参照元 build_wchmm2(). |
|
フレーム同期ビーム探索:最初の1フレーム目 ここではビームサーチに用いるノードやトークン,単語トレリス構造体などの 初期化,および最初のフレームの計算を行う.2フレーム目以降は get_back_trellis_proceed() を用いる.
参照元 get_back_trellis(), RealTimeParam(), と RealTimePipeLine(). |
|
フレーム同期ビーム探索:2フレーム目以降 フレーム同期ビーム探索のメイン部分です.与えられた1フレーム分計算を 進め,そのフレーム内に残った単語を単語トレリス構造体の中に保存する. 第1フレームに対しては get_back_trellis_init() を用いる. 詳細は関数内のコメントを参照のこと.
参照元 get_back_trellis(), get_back_trellis_end(), RealTimeParam(), と RealTimePipeLine(). |
|
フレーム同期ビーム探索:最終フレーム 第1パスのフレーム同期ビーム探索を終了するために, (param->samplenum -1) の最終フレームに対する終了処理を行う.
参照元 get_back_trellis(), RealTimeParam(), と RealTimeTerminate(). |
|
フレーム同期ビーム探索:メイン 与えられた入力ベクトル列に対して第1パス(フレーム同期ビーム探索)を 行い,その結果を出力する.また全フレームに渡る単語終端を,第2パス のために単語トレリス構造体に格納する. この関数は入力ベクトル列があらかじめ得られている場合に用いられる. 第1パスが入力と並列して実行されるオンライン認識の場合, この関数は用いられず,代わりにこのファイルで定義されている各サブ関数が 直接 realtime-1stpass.c 内から呼ばれる.
|
|
第1パスの終了処理を行う.. この関数は get_back_trellis_end() の直後に呼ばれ,第1パスの終了処理を 行う.生成した単語トレリス構造体の最終的な後処理を行い第2パスで アクセス可能な形に内部を変換する.また, 仮説のバックトレースを行い第1パスのベスト仮説を出力する.
参照元 get_back_trellis(), RealTimeParam(), と RealTimeTerminate(). |
|
木構造化辞書中のある状態(ノード)について対数出力確率を計算する.
outprob_style.c の 383 行で定義されています。 参照元 bt_discount_pescore(), get_back_trellis_proceed(), と init_nodescore(). |
|
指定した右コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
outprob_style.c の 542 行で定義されています。 参照元 next_word(), と scan_word(). |
|
指定した左コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
outprob_style.c の 567 行で定義されています。 参照元 outprob_style(), と scan_word(). |
|
第2探索パスであるスタックデコーディングを行うメイン関数
search_bestfirst_main.c の 1083 行で定義されています。 |
|
< Define if want triphone debug messages 仮説ノードを解放する.
search_bestfirst_v1.c の 129 行で定義されています。 参照元 free_all_nodes(), put_all_in_stack(), put_to_stack(), result_reorder_and_output(), と wchmm_fbs(). |
|
仮説をコピーする.
search_bestfirst_v1.c の 166 行で定義されています。 参照元 last_next_word(), と wchmm_fbs(). |
|
新たな仮説ノードを割り付ける.
search_bestfirst_v1.c の 240 行で定義されています。 参照元 wchmm_fbs(). |
|
1単語分のトレリス計算用のワークエリアを確保. search_bestfirst_v1.c の 321 行で定義されています。 参照元 wchmm_fbs(). |
|
1単語分のトレリス計算用のワークエアリアを解放 search_bestfirst_v1.c の 359 行で定義されています。 参照元 wchmm_fbs(). |
|
最後の1単語の前向きトレリスを計算して,文仮説の前向き尤度を更新する.
search_bestfirst_v1.c の 458 行で定義されています。 参照元 wchmm_fbs(). |
|
展開元仮説に次単語を接続して新しい仮説を生成する.次単語の単語トレリス上の スコアから最尤接続点を求め,仮説スコアを計算する.
search_bestfirst_v1.c の 1256 行で定義されています。 参照元 wchmm_fbs(). |
|
与えられた単語から初期仮説を生成する.
search_bestfirst_v1.c の 1544 行で定義されています。 参照元 wchmm_fbs(). |
|
終端処理:終端まで達した文仮説の最終的なスコアをセットする.
search_bestfirst_v1.c の 1650 行で定義されています。 参照元 wchmm_fbs(). |
|
MFCC 計算に用いる緒パラメータをセットする.
wav2mfcc.c の 72 行で定義されています。 参照元 new_wav2mfcc(), と RealTimeInit(). |
|
音声波形データから MFCC パラメータを抽出する.
wav2mfcc.c の 129 行で定義されています。 |
|
ヘッダを出力する.
参照元 detailed_help(), opt_parse(), と print_info(). |
|
バージョン情報を出力する
参照元 usage(). |
|
コンパイル時の設定を出力する.
参照元 detailed_help(), opt_parse(), と print_info(). |
|
木構造化辞書を新たに割り付ける.
参照元 final_fusion(). |
|
木構造化辞書およびその内部の割付メモリを全て解放する.
|
|
木構造化辞書のサイズなどの情報を標準出力に出力する.
参照元 print_info(). |
|
与えられた単語辞書と言語モデルから木構造化辞書を構築する. この関数は bulid_wchmm() と同じ処理を行いますが, 最初に単語を音素列でソートして音素列の似た順に単語を並べるため, より高速に木構造化を行うことができる.とくにオプション指定をしない 限り,Julius/Julianではこちらが用いられる.
参照元 final_fusion(). |
|
木構造化辞書の構造を起動時に対話的にチェックする際のコマンドループ
wchmm_check.c の 313 行で定義されています。 参照元 build_wchmm2(), と check_wchmm(). |
|
木構造化辞書内のリンク情報の一貫性をチェックする(内部デバッグ用)
wchmm_check.c の 414 行で定義されています。 参照元 build_wchmm2(). |
|
第1パス平行認識処理の初期化(起動後1回だけ呼ばれる) realtime-1stpass.c の 211 行で定義されています。 参照元 final_fusion(). |
|
第1パス平行認識処理のデータ準備(認識開始ごとに呼ばれる) realtime-1stpass.c の 270 行で定義されています。 |
|
第1パス平行音声認識処理のメイン. この関数は, 音声入力ルーチンのコールバックとして,取り込んだ 音声データの断片を引数として呼び出されます.音声入力が開始されると, 取り込んだ音声データは数千サンプルごとに,その都度この関数が呼び出されます. 呼び出しは,音声区間終了か入力ストリームの終了まで続きます. この関数内では,漸次的な特徴量抽出および第1パスの認識が行われます.
realtime-1stpass.c の 352 行で定義されています。 |
|
第1パス平行認識処理の終了処理を行う.
realtime-1stpass.c の 700 行で定義されています。 |
|
次回の認識に備えて CMN用にケプストラム平均を更新する.
realtime-1stpass.c の 850 行で定義されています。 |
|
第1パス平行認識処理の中断時の終了処理を行う. realtime-1stpass.c の 898 行で定義されています。 |
|
単語ごとの forced alignment を行う.
word_align.c の 381 行で定義されています。 |
|
音素ごとの forced alignment を行う.
word_align.c の 430 行で定義されています。 |
|
HMM状態ごとの forced alignment を行う.
word_align.c の 479 行で定義されています。 |
|
単語ごとの forced alignment を行う(単語が逆順で与えられる場合)
word_align.c の 403 行で定義されています。 |
|
音素ごとの forced alignment を行う(単語が逆順で与えられる場合)
word_align.c の 452 行で定義されています。 |
|
HMM状態ごとの forced alignment を行う(単語が逆順で与えられる場合)
word_align.c の 501 行で定義されています。 |
|
指定されたパラメータをチェックする. ファイルの存在チェックやパラメータ指定の整合性,モデルとの対応 などについてチェックを行なう.重要な誤りが見つかった場合エラー終了する. m_chkparam.c の 87 行で定義されています。 参照元 main(). |
|
読み込んだモデルファイル名を出力する. 参照元 print_info(). |
|
全てのシステム情報を出力する. |
|
検出区間の音声データをバッファに保存するための adin_go() callback この関数は,検出された音声入力を逐次バッファ speech に記録して いきます.バッファ処理モード(=非リアルタイムモード)で認識を行なう ときに用いられます.
|
|
メッセージを出力してエラー終了(オプション指定エラー時用) 参照元 args_needed_exit(), と opt_parse(). |
|
バージョンとメッセージを出力して終了(オプション無し実行時) 参照元 opt_parse(). |
|
バージョン情報,エンジン設定および詳細なオプションのヘルプを表示して終了 参照元 opt_parse(). |
|
相対パスをフルパスに変換する.. ファイルのパス名が相対パスであれば,カレントディレクトリをつけた フルパスに変換して返す.絶対パスであれば,そのまま返す.
m_options.c の 51 行で定義されています。 参照元 multigram_add_prefix_filelist(), multigram_add_prefix_list(), と opt_parse(). |
|
オプションを解析して対応する値をセットする.
m_options.c の 109 行で定義されています。 参照元 config_file_parse(), と main(). |
|
ファイルのパス名からディレクトリ名を抜き出す. 最後の '/' は残される.
|
|
jconf 設定ファイルを読み込んで解析し,対応するオプションを設定する.
参照元 opt_parse(). |
|
ファイルが存在して読み込み可能かチェックする.
m_chkparam.c の 39 行で定義されています。 参照元 check_specs(), multigram_add_prefix_filelist(), と multigram_add_prefix_list(). |
|
第1パスのビーム幅を決定する.. ユーザが "-b" オプションでビーム幅を指定しなかった場合は, 下記のうち小さい方がビーム幅として採用される.
m_chkparam.c の 283 行で定義されています。 参照元 final_fusion(). |
|
第1パスの言語モデルの重みと単語挿入ペナルティのデフォルト値を, 音響モデルの型に従ってセットする. m_chkparam.c の 318 行で定義されています。 参照元 configure_param(). |
|
第2パスの言語モデルの重みと単語挿入ペナルティのデフォルト値を, 音響モデルの型に従ってセットする. m_chkparam.c の 342 行で定義されています。 参照元 configure_param(). |
|
システム起動時に最初に呼ばれる初期化処理.メモリ割り付け関数の初期化 やエラー処理関数の登録などを行なう. m_bootup.c の 95 行で定義されています。 参照元 main(). |
|
音声入力デバイスを初期化する.speech_input で選択されているデバイスを 初期化し,サンプリング周波数や音声検出用パラメータをセットする. |
|
全てのモデルを読み込み,認識の準備を行なう.. 認識で用いる全てのモデルを読み込んだあと,モデル同士の関連づけや 木構造化辞書の構築, キャッシュの確保を行なう.またいくつかのデフォルトパラメータの決定 や,結果の出力先の設定もおこなう. m_fusion.c の 338 行で定義されています。 |
|
モジュール出力を行うよう関数を登録する. result_tty.c の 650 行で定義されています。 |
|
準備が終了して、認識可能状態(入力待ち状態)に入ったときの出力 result_tty.c の 579 行で定義されています。 参照元 setup_result_tty(). |
|
入力の開始を検出したときの出力 result_tty.c の 597 行で定義されています。 参照元 setup_result_tty(). |
|
入力終了を検出したときの出力 result_tty.c の 612 行で定義されています。 参照元 setup_result_tty(). |
|
入力長などの入力パラメータ情報を出力.
result_tty.c の 629 行で定義されています。 参照元 setup_result_tty(). |
|
モジュール出力を行うよう関数を登録する. result_msock.c の 586 行で定義されています。 |
|
認識結果としてどういった単語情報を出力するかをセットする。
result_msock.c の 84 行で定義されています。 参照元 opt_parse(). |
|
準備が終了して、認識可能状態(入力待ち状態)に入ったときの出力 result_msock.c の 520 行で定義されています。 参照元 setup_result_msock(). |
|
入力の開始を検出したときの出力 result_msock.c の 535 行で定義されています。 参照元 setup_result_msock(). |
|
入力終了を検出したときの出力 result_msock.c の 550 行で定義されています。 参照元 setup_result_msock(). |
|
入力長などの入力パラメータ情報を出力.
result_msock.c の 567 行で定義されています。 参照元 setup_result_msock(). |
|
コマンドライン上でトライフォンのチェックを行なうモード ("-check hmm").
hmm_check.c の 289 行で定義されています。 |
|
録音のために一時ファイルをオープンする. |
|
入力音声断片をファイルに追加記録する.
|
|
録音を終了する.録音用の一時ファイルをクローズし、本来の名前にrenameする。 |
|
GMMの計算のための初期化.起動時に一度だけ呼ばれる.
参照元 initialize_GMM(). |
|
GMM計算のための準備を行なう.1入力開始ごとに呼ばれる.
|
|
与えられた入力ベクトル列上のあるフレームについて,全GMMのスコアを計算し, 計算結果を gmm_score に積算する.
|
|
GMMの計算を終了し,結果を出力する.. gmm_proceed() によって累積された各フレームごとのスコアから, 最大スコアのGMMを決定する.その事後確率に基づく信頼度を計算し 最終的な結果を result_gmm() によって出力する.
参照元 finalize_1st_pass(). |
|
GMMの計算結果をモジュールのクライアントに送信する ("-result msock" 用) 参照元 setup_result_msock(). |
|
GMMの計算結果を標準出力に出力する.("-result tty" 用) 参照元 setup_result_tty(). |
|
GMMの識別結果,最後の入力が音声入力として有効であったか 無効であったかを返す.
|
|
メインの音声認識実行ループ この関数は音声認識を実行するメインループです.最初にシステムの初期化を 行ない,その後イベントループに入ります.イベントループでは音声区間が検出 されると,その音声区間について認識処理の第1パス,第2パスを行ない,結果を 出力します.またモジュールモードの場合は命令コマンドの処理の呼び出しを 行ないます. Main Recognition Loop 参照元 main(), と main_module_loop(). |