メインページ | モジュール | データ構造 | Directories | ファイル一覧 | データフィールド | グローバル | 関連ページ

extern.h

外部関数宣言 [詳細]

#include "search.h"

extern.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

関数

void bt_init (BACKTRELLIS *bt)
void bt_prepare (BACKTRELLIS *bt)
void bt_store (BACKTRELLIS *bt, TRELLIS_ATOM *aotm)
void bt_relocate_rw (BACKTRELLIS *bt)
void bt_discount_pescore (WCHMM_INFO *wchmm, BACKTRELLIS *bt, HTK_Param *param)
void bt_sort_rw (BACKTRELLIS *bt)
TRELLIS_ATOMbt_binsearch_atom (BACKTRELLIS *bt, int time, WORD_ID wkey)
void make_iwcache_index (WCHMM_INFO *wchmm)
void make_successor_list (WCHMM_INFO *wchmm)
boolean can_succeed (WCHMM_INFO *wchmm, WORD_ID lastword, int node)
void get_back_trellis_init (HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis)
 フレーム同期ビーム探索:最初の1フレーム目
boolean get_back_trellis_proceed (int t, HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis)
 フレーム同期ビーム探索:2フレーム目以降
void get_back_trellis_end (HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis)
 フレーム同期ビーム探索:最終フレーム
void get_back_trellis (HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis, LOGPROB *backmax)
 フレーム同期ビーム探索:メイン
LOGPROB finalize_1st_pass (BACKTRELLIS *backtrellis, WORD_INFO *winfo, int len)
 第1パスの終了処理を行う..
LOGPROB outprob_style (WCHMM_INFO *wchmm, int node, int last_wid, int t, HTK_Param *param)
void error_missing_right_triphone (HMM_Logical *base, char *rc_name)
void error_missing_left_triphone (HMM_Logical *base, char *lc_name)
int dfa_firstwords (NEXTWORD **nw, int peseqlen, int maxnw, DFA_INFO *dfa)
int dfa_nextwords (NODE *hypo, NEXTWORD **nw, int maxnw, DFA_INFO *dfa)
boolean dfa_acceptable (NODE *hypo, DFA_INFO *dfa)
boolean dfa_look_around (NEXTWORD *nword, NODE *hypo, BACKTRELLIS *bt)
void putsentence (NODE *hypo, int num)
void wchmm_fbs (HTK_Param *param, BACKTRELLIS *backtrellis, LOGPROB backmax, int stacksize, int ncan, int maxhypo, int cate_bgn, int cate_num)
void free_node (NODE *node)
 < Define if want triphone debug messages
NODEcpy_node (NODE *dst, NODE *src)
NODEnewnode ()
void malloc_wordtrellis ()
void free_wordtrellis ()
void scan_word (NODE *now, HTK_Param *param)
void next_word (NODE *now, NODE *new, NEXTWORD *nword, HTK_Param *param, BACKTRELLIS *backtrellis)
void start_word (NODE *new, NEXTWORD *nword, HTK_Param *param, BACKTRELLIS *backtrellis)
void last_next_word (NODE *now, NODE *new, HTK_Param *param)
void init_para (Value *para)
HTK_Paramnew_wav2mfcc (SP16 speech[], int speechlen)
void put_header (FILE *stream)
void put_version (FILE *stream)
void put_compile_defs (FILE *stream)
WCHMM_INFOwchmm_new ()
void wchmm_free (WCHMM_INFO *w)
void print_wchmm_info (WCHMM_INFO *wchmm)
void build_wchmm2 (WCHMM_INFO *wchmm)
void wchmm_check_interactive (WCHMM_INFO *wchmm)
void check_wchmm (WCHMM_INFO *wchmm)
void RealTimeInit ()
void RealTimePipeLinePrepare ()
int RealTimePipeLine (SP16 *Speech, int len)
 第1パス平行音声認識処理のメイン.
int RealTimeResume ()
HTK_ParamRealTimeParam (LOGPROB *backmax)
void RealTimeCMNUpdate (HTK_Param *param)
void RealTimeTerminate ()
void word_align (WORD_ID *words, short wnum, HTK_Param *param)
void phoneme_align (WORD_ID *words, short wnum, HTK_Param *param)
void state_align (WORD_ID *words, short wnum, HTK_Param *param)
void word_rev_align (WORD_ID *revwords, short wnum, HTK_Param *param)
void phoneme_rev_align (WORD_ID *revwords, short wnum, HTK_Param *param)
void state_rev_align (WORD_ID *revwords, short wnum, HTK_Param *param)
void check_specs ()
 指定されたパラメータをチェックする.
void print_setting ()
void print_info ()
int adin_cut_callback_store_buffer (SP16 *now, int len)
 検出区間の音声データをバッファに保存するための adin_go() callback
void opt_terminate ()
void usage ()
void detailed_help ()
char * filepath (char *filename, char *dirname)
 相対パスをフルパスに変換する..
void opt_parse (int argc, char *argv[], char *cwd)
 オプションを解析して対応する値をセットする.
void get_dirname (char *path)
 ファイルのパス名からディレクトリ名を抜き出す.
void config_file_parse (char *conffile)
void checkpath (char *filename)
int set_beam_width (WCHMM_INFO *wchmm, int specified)
 第1パスのビーム幅を決定する..
void set_lm_weight ()
void set_lm_weight2 ()
void system_bootup ()
void adin_initialize ()
void final_fusion ()
 全てのモデルを読み込み,認識の準備を行なう..
void setup_result_tty ()
void ttyout_status_recready ()
void ttyout_status_recstart ()
void ttyout_status_recend ()
void ttyout_status_param (HTK_Param *p)
void setup_result_msock ()
void decode_output_selection (char *str)
void msock_status_recready ()
void msock_status_recstart ()
void msock_status_recend ()
void msock_status_param (HTK_Param *p)
void hmm_check (HTK_HMM_INFO *hmminfo, WORD_INFO *winfo)
void record_sample_open ()
void record_sample_write (SP16 *speech, int samplenum)
void record_sample_close ()
void visual_init ()
void visual_show (BACKTRELLIS *bt)
void visual2_init (int maxhypo)
void visual2_popped (NODE *n, int popctr)
void visual2_next_word (NODE *next, NODE *prev, int popctr)
void visual2_best (NODE *now, WORD_INFO *winfo)
void gmm_init (HTK_HMM_INFO *gmm, int prune_num)
void gmm_prepare (HTK_HMM_INFO *gmm)
void gmm_proceed (HTK_HMM_INFO *gmm, HTK_Param *param, int t)
void gmm_end (HTK_HMM_INFO *gmm)
 GMMの計算を終了し,結果を出力する..
void msock_gmm ()
void ttyout_gmm ()
boolean gmm_valid_input ()
void main_recognition_loop ()
 メインの音声認識実行ループ


説明

外部関数宣言

作者:
Akinobu LEE
日付:
Mon Mar 7 23:19:14 2005
Revision
1.2

extern.h で定義されています。


関数

void bt_init BACKTRELLIS bt  ) 
 

単語トレリスを保持する 単語トレリス 構造体を初期化する(起動時に1回だけ実行)

引数:
bt [in] 初期化する 単語トレリス 構造体へのポインタ

backtrellis.c74 行で定義されています。

参照元 final_fusion().

void bt_prepare BACKTRELLIS bt  ) 
 

次回の認識用に 単語トレリス 構造体を準備する (認識開始時ごとに実行).

引数:
bt [in] 対象とする単語トレリス構造体へのポインタ

backtrellis.c96 行で定義されています。

参照元 get_back_trellis_init().

void bt_store BACKTRELLIS bt,
TRELLIS_ATOM tatom
 

第1パスで出現したトレリス単語(単語終端のトレリス情報)を格納する.

ここでは格納だけ行い,第1パス終了後に bt_relocate_rw() で フレーム順に再配置する.

引数:
bt [i/o] トレリス単語を格納するバックトレリス構造体
tatom [in] 出現したトレリス単語へのポインタ

backtrellis.c144 行で定義されています。

参照元 get_back_trellis_end(), と get_back_trellis_proceed().

void bt_relocate_rw BACKTRELLIS bt  ) 
 

第1パス終了後, 格納された単語トレリス情報をフレーム順に再配置する.

引数:
bt [i/o] 単語トレリス構造体

backtrellis.c170 行で定義されています。

参照元 finalize_1st_pass().

void bt_discount_pescore WCHMM_INFO wchmm,
BACKTRELLIS bt,
HTK_Param param
 

第1パス終了後, 第2パスでのトレリス再接続計算のために, 全時間に渡って各トレリス単語の終端の最終状態の出力尤度を再計算し, それを累積から差し引いておく.第2パスでは,仮説接続時には 接続仮説を考慮して接続点の状態の尤度が再計算される.

引数:
wchmm [in] 木構造化辞書
bt [in] 単語トレリス構造体
param [in] 入力パラメータ情報

backtrellis.c315 行で定義されています。

参照元 main_recognition_loop().

void bt_sort_rw BACKTRELLIS bt  ) 
 

bt_relocate_rw() 終了後, 高速アクセスのために バックトレリス構造体内のトレリス単語をフレームごとに 単語IDでソートしておく.

引数:
bt [i/o] 単語トレリス構造体

backtrellis.c390 行で定義されています。

参照元 finalize_1st_pass().

TRELLIS_ATOM* bt_binsearch_atom BACKTRELLIS bt,
int  t,
WORD_ID  wkey
 

単語トレリス内の指定時刻フレーム上に,指定単語の終端があるかどうかを 検索する.

引数:
bt [in] 単語トレリス構造体
t [in] 検索する終端時刻(フレーム)
wkey [in] 検索する単語の単語ID
戻り値:
見つかった場合そのトレリス単語へのポインタ,見つからなければ NULL.

backtrellis.c428 行で定義されています。

参照元 next_word(), print_1pass_result(), と start_word().

void get_back_trellis_init HTK_Param param,
WCHMM_INFO wchmm,
BACKTRELLIS backtrellis
 

フレーム同期ビーム探索:最初の1フレーム目

ここではビームサーチに用いるノードやトークン,単語トレリス構造体などの 初期化,および最初のフレームの計算を行う.2フレーム目以降は get_back_trellis_proceed() を用いる.

引数:
param [in] 入力ベクトル列情報 (最初の1フレーム目のみ用いられる)
wchmm [in] 木構造化辞書
backtrellis [i/o] 単語トレリス構造体 (この関数内で初期化される)

beam.c1445 行で定義されています。

参照元 get_back_trellis(), RealTimeParam(), と RealTimePipeLine().

boolean get_back_trellis_proceed int  t,
HTK_Param param,
WCHMM_INFO wchmm,
BACKTRELLIS backtrellis
 

フレーム同期ビーム探索:2フレーム目以降

フレーム同期ビーム探索のメイン部分です.与えられた1フレーム分計算を 進め,そのフレーム内に残った単語を単語トレリス構造体の中に保存する. 第1フレームに対しては get_back_trellis_init() を用いる. 詳細は関数内のコメントを参照のこと.

引数:
t [in] 現在のフレーム (このフレームについて計算が進められる)
param [in] 入力ベクトル列構造体 (t 番目のフレームのみ用いられる)
wchmm [in] 木構造化辞書
backtrellis [i/o] 単語トレリス構造体 (t 番目のフレーム上に残った単語が追加される)
戻り値:
TRUE (通常どおり終了) あるいは FALSE (ここで探索を中断する 場合: 逐次デコーディング時にショートポーズ区間を検出したか,ビーム内の アクティブノード数が0になったとき)

beam.c1576 行で定義されています。

参照元 get_back_trellis(), get_back_trellis_end(), RealTimeParam(), と RealTimePipeLine().

void get_back_trellis_end HTK_Param param,
WCHMM_INFO wchmm,
BACKTRELLIS backtrellis
 

フレーム同期ビーム探索:最終フレーム

第1パスのフレーム同期ビーム探索を終了するために, (param->samplenum -1) の最終フレームに対する終了処理を行う.

引数:
param [in] 入力ベクトル列 (param->samplenum の値のみ用いられる)
wchmm [in] 木構造化辞書
backtrellis [i/o] 単語トレリス構造体 (最終フレームの単語候補が格納される)

beam.c2317 行で定義されています。

参照元 get_back_trellis(), RealTimeParam(), と RealTimeTerminate().

void get_back_trellis HTK_Param param,
WCHMM_INFO wchmm,
BACKTRELLIS backtrellis,
LOGPROB backmax
 

フレーム同期ビーム探索:メイン

与えられた入力ベクトル列に対して第1パス(フレーム同期ビーム探索)を 行い,その結果を出力する.また全フレームに渡る単語終端を,第2パス のために単語トレリス構造体に格納する.

この関数は入力ベクトル列があらかじめ得られている場合に用いられる. 第1パスが入力と並列して実行されるオンライン認識の場合, この関数は用いられず,代わりにこのファイルで定義されている各サブ関数が 直接 realtime-1stpass.c 内から呼ばれる.

引数:
param [in] 入力ベクトル列
wchmm [in] 木構造化辞書
backtrellis [out] 単語トレリス情報が書き込まれる構造体へのポインタ
backmax [out] 第1パスの最尤スコア (探索失敗なら LOG_ZERO)

beam.c2600 行で定義されています。

参照元 main_recognition_loop().

LOGPROB finalize_1st_pass BACKTRELLIS backtrellis,
WORD_INFO winfo,
int  len
 

第1パスの終了処理を行う..

この関数は get_back_trellis_end() の直後に呼ばれ,第1パスの終了処理を 行う.生成した単語トレリス構造体の最終的な後処理を行い第2パスで アクセス可能な形に内部を変換する.また, 仮説のバックトレースを行い第1パスのベスト仮説を出力する.

引数:
backtrellis [i/o] 単語トレリス構造体 (後処理が行われる)
winfo [in] 単語辞書
len [in] 第1パスで処理された最終的なフレーム長
戻り値:
第1パスの最尤仮説の累積尤度,あるいは仮説が見つからない場合 は LOG_ZERO.

beam.c2399 行で定義されています。

参照元 get_back_trellis(), RealTimeParam(), と RealTimeTerminate().

LOGPROB outprob_style WCHMM_INFO wchmm,
int  node,
int  last_wid,
int  t,
HTK_Param param
 

木構造化辞書中のある状態(ノード)について対数出力確率を計算する.

引数:
wchmm [in] 木構造化辞書情報
node [in] ノード番号
last_wid [in] 直前単語(単語先頭のトライフォン計算に用いる)
t [in] 時間フレーム
param [in] 特徴量パラメータ構造体 (t 番目のベクトルについて計算する)
戻り値:
出力確率の対数値を返す.

outprob_style.c383 行で定義されています。

参照元 bt_discount_pescore(), get_back_trellis_proceed(), と init_nodescore().

void error_missing_right_triphone HMM_Logical base,
char *  rc_name
 

指定した右コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.

引数:
base [in] ベースのトライフォン
rc_name [in] 右コンテキストの音素名

outprob_style.c542 行で定義されています。

参照元 lcdset_register_with_category(), next_word(), と scan_word().

void error_missing_left_triphone HMM_Logical base,
char *  lc_name
 

指定した左コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.

引数:
base [in] ベースのトライフォン
lc_name [in] 左コンテキストの音素名

outprob_style.c567 行で定義されています。

参照元 outprob_style(), と scan_word().

int dfa_firstwords NEXTWORD **  nw,
int  peseqlen,
int  maxnw,
DFA_INFO dfa
 

文法にしたがって,文頭に接続しうる単語を最初の予測単語群として返す.

引数:
nw [out] 次単語集合の格納先へのポインタ
peseqlen [in] 入力フレーム長
maxnw [in] nw の許される最大長
dfa [in] DFA文法構造体
戻り値:
予測された単語数 (ただしエラー時は -1 を返す)

dfa_decode.c86 行で定義されています。

参照元 wchmm_fbs().

int dfa_nextwords NODE hypo,
NEXTWORD **  nw,
int  maxnw,
DFA_INFO dfa
 

部分文仮説に対して,文法に従って次に接続しうる単語群を返す.

引数:
hypo [in] 展開元の部分文仮説
nw [out] 次単語集合の格納先へのポインタ
maxnw [in] nw の許される最大長
dfa [in] DFA文法構造体
戻り値:
予測された単語数 (ただしエラー時は -1 を返す)

dfa_decode.c144 行で定義されています。

参照元 wchmm_fbs().

boolean dfa_acceptable NODE hypo,
DFA_INFO dfa
 

部分文仮説が文法上文として最終(受理可能)状態にあるかどうかを返す.

引数:
hypo [in] 部分文仮説
dfa [in] DFA文法構造体
戻り値:
受理可能状態にあるとき TRUE 受理不可能なとき FALSE

dfa_decode.c201 行で定義されています。

参照元 wchmm_fbs().

boolean dfa_look_around NEXTWORD nword,
NODE hypo,
BACKTRELLIS bt
 

次単語候補がその推定された接続予測点の前後の単語トレリス上に あるかどうかをチェックし,もしあればそのトレリス単語へのポインタをセット する.なお最尤の接続点はあとで決まるので,ここでは最適なトレリス単語 でなくてよい.

引数:
nword [i/o] 次単語候補 (対応するトレリス単語へのポインタが セットされる)
hypo [in] 展開元仮説
bt [in] 単語トレリス構造体
戻り値:
単語トレリス上の予測位置付近に次単語が存在すれば TRUE,存在 しなければ FALSE を返す.

dfa_decode.c242 行で定義されています。

参照元 wchmm_fbs().

void wchmm_fbs HTK_Param param,
BACKTRELLIS backtrellis,
LOGPROB  backmax,
int  stacksize,
int  ncan,
int  maxhypo,
int  cate_bgn,
int  cate_num
 

第2探索パスであるスタックデコーディングを行うメイン関数

引数:
param [in] 入力パラメータベクトル列
backtrellis [in] 第1パスで得られた単語トレリス
backmax [in] 第1パスで得られた累積仮説スコアの最大値
stacksize [in] 仮説スタックのサイズ
ncan [in] 得るべき文候補数
maxhypo [in] 探索を断念する展開数閾値
cate_bgn [in] 展開対象とすべきカテゴリの開始番号(Juliusでは無視)
cate_num [in] 展開対象とすべきカテゴリの数(Juliusでは無視)

search_bestfirst_main.c1083 行で定義されています。

参照元 main_recognition_loop().

void free_node NODE node  ) 
 

< Define if want triphone debug messages

仮説ノードを解放する.

引数:
node [in] 仮説ノード

search_bestfirst_v1.c129 行で定義されています。

参照元 free_all_nodes(), put_all_in_stack(), put_to_stack(), result_reorder_and_output(), と wchmm_fbs().

NODE* cpy_node NODE dst,
NODE src
 

仮説をコピーする.

引数:
dst [out] コピー先の仮説
src [in] コピー元の仮説
戻り値:
dst を返す.

search_bestfirst_v1.c166 行で定義されています。

参照元 last_next_word(), と wchmm_fbs().

NODE* newnode  ) 
 

新たな仮説ノードを割り付ける.

戻り値:
新たに割り付けられた仮説ノードへのポインタを返す.

search_bestfirst_v1.c240 行で定義されています。

参照元 wchmm_fbs().

void malloc_wordtrellis  ) 
 

1単語分のトレリス計算用のワークエリアを確保.

search_bestfirst_v1.c321 行で定義されています。

参照元 wchmm_fbs().

void free_wordtrellis  ) 
 

1単語分のトレリス計算用のワークエアリアを解放

search_bestfirst_v1.c359 行で定義されています。

参照元 wchmm_fbs().

void scan_word NODE now,
HTK_Param param
 

最後の1単語の前向きトレリスを計算して,文仮説の前向き尤度を更新する.

引数:
now [i/o] 文仮説
param [in] 入力パラメータ列

search_bestfirst_v1.c458 行で定義されています。

参照元 wchmm_fbs().

void next_word NODE now,
NODE new,
NEXTWORD nword,
HTK_Param param,
BACKTRELLIS backtrellis
 

展開元仮説に次単語を接続して新しい仮説を生成する.次単語の単語トレリス上の スコアから最尤接続点を求め,仮説スコアを計算する.

引数:
now [in] 展開元仮説
new [out] 新たに生成された仮説が格納される
nword [in] 接続する次単語の情報
param [in] 入力パラメータ列
backtrellis [in] 単語トレリス

search_bestfirst_v1.c1256 行で定義されています。

参照元 wchmm_fbs().

void start_word NODE new,
NEXTWORD nword,
HTK_Param param,
BACKTRELLIS backtrellis
 

与えられた単語から初期仮説を生成する.

引数:
new [out] 新たに生成された仮説が格納される
nword [in] 初期仮説単語の情報
param [in] 入力パラメータ列
backtrellis [in] 単語トレリス

search_bestfirst_v1.c1544 行で定義されています。

参照元 wchmm_fbs().

void last_next_word NODE now,
NODE new,
HTK_Param param
 

終端処理:終端まで達した文仮説の最終的なスコアをセットする.

引数:
now [in] 終端まで達した仮説
new [out] 最終的な文仮説のスコアを格納する場所へのポインタ
param [in] 入力パラメータ列

search_bestfirst_v1.c1650 行で定義されています。

参照元 wchmm_fbs().

void init_para Value para  ) 
 

MFCC 計算に用いる緒パラメータをセットする.

引数:
para [out] 特徴量パラメータ

wav2mfcc.c72 行で定義されています。

参照元 new_wav2mfcc(), と RealTimeInit().

HTK_Param* new_wav2mfcc SP16  speech[],
int  speechlen
 

音声波形データから MFCC パラメータを抽出する.

引数:
speech [in] 音声波形データ
speechlen [in] speech の長さ(単位:サンプル数)
戻り値:
新たに割り付けられ抽出パラメータベクトルが格納されている パラメータ構造体へのポインタを返す.

wav2mfcc.c129 行で定義されています。

参照元 main_recognition_loop().

void put_header FILE *  strm  ) 
 

ヘッダを出力する.

引数:
strm [in] 出力ストリーム

version.c48 行で定義されています。

参照元 detailed_help(), opt_parse(), と print_info().

void put_version FILE *  strm  ) 
 

バージョン情報を出力する

引数:
strm [in] 出力ストリーム

version.c65 行で定義されています。

参照元 usage().

void put_compile_defs FILE *  strm  ) 
 

コンパイル時の設定を出力する.

引数:
strm [in] 入力ストリーム

version.c89 行で定義されています。

参照元 detailed_help(), opt_parse(), と print_info().

WCHMM_INFO* wchmm_new  ) 
 

木構造化辞書を新たに割り付ける.

戻り値:
新たにメモリ上に割り付けられた木構造化辞書構造体へのポインタを返す.

wchmm.c70 行で定義されています。

参照元 final_fusion().

void wchmm_free WCHMM_INFO w  ) 
 

木構造化辞書およびその内部の割付メモリを全て解放する.

引数:
w [in] 木構造化辞書

wchmm.c206 行で定義されています。

void print_wchmm_info WCHMM_INFO wchmm  ) 
 

木構造化辞書のサイズなどの情報を標準出力に出力する.

引数:
wchmm [in] 木構造化辞書

wchmm.c1958 行で定義されています。

参照元 print_info().

void build_wchmm2 WCHMM_INFO wchmm  ) 
 

与えられた単語辞書と言語モデルから木構造化辞書を構築する. この関数は bulid_wchmm() と同じ処理を行いますが, 最初に単語を音素列でソートして音素列の似た順に単語を並べるため, より高速に木構造化を行うことができる.とくにオプション指定をしない 限り,Julius/Julianではこちらが用いられる.

引数:
wchmm [i/o] 木構造化辞書

wchmm.c1682 行で定義されています。

参照元 final_fusion().

void wchmm_check_interactive WCHMM_INFO wchmm  ) 
 

木構造化辞書の構造を起動時に対話的にチェックする際のコマンドループ

引数:
wchmm [in] 木構造化辞書

wchmm_check.c313 行で定義されています。

参照元 build_wchmm(), build_wchmm2(), と check_wchmm().

void check_wchmm WCHMM_INFO wchmm  ) 
 

木構造化辞書内のリンク情報の一貫性をチェックする(内部デバッグ用)

引数:
wchmm [in] 木構造化辞書

wchmm_check.c414 行で定義されています。

参照元 build_wchmm(), と build_wchmm2().

void RealTimeInit  ) 
 

第1パス平行認識処理の初期化(起動後1回だけ呼ばれる)

realtime-1stpass.c211 行で定義されています。

参照元 final_fusion().

void RealTimePipeLinePrepare  ) 
 

第1パス平行認識処理のデータ準備(認識開始ごとに呼ばれる)

realtime-1stpass.c270 行で定義されています。

参照元 main_recognition_loop().

int RealTimePipeLine SP16 Speech,
int  nowlen
 

第1パス平行音声認識処理のメイン.

この関数は, 音声入力ルーチンのコールバックとして,取り込んだ 音声データの断片を引数として呼び出されます.音声入力が開始されると, 取り込んだ音声データは数千サンプルごとに,その都度この関数が呼び出されます. 呼び出しは,音声区間終了か入力ストリームの終了まで続きます.

この関数内では,漸次的な特徴量抽出および第1パスの認識が行われます.

引数:
Speech [in] 音声データへのバッファへのポインタ
nowlen [in] 音声データの長さ
戻り値:
エラー時 -1 を,正常時 0 を返す.また,この入力断片までで, 文章の区切りとして第1パスを終了したいときには 1 を返す.

realtime-1stpass.c352 行で定義されています。

参照元 main_recognition_loop().

HTK_Param* RealTimeParam LOGPROB backmax  ) 
 

第1パス平行認識処理の終了処理を行う.

引数:
backmax [out] 第1パスの最終フレームでの最大尤度を格納する
戻り値:
この入力の特徴パラメータを格納した構造体を返す.

realtime-1stpass.c700 行で定義されています。

参照元 main_recognition_loop().

void RealTimeCMNUpdate HTK_Param param  ) 
 

次回の認識に備えて CMN用にケプストラム平均を更新する.

引数:
param [in] 現在の入力パラメータ

realtime-1stpass.c850 行で定義されています。

参照元 main_recognition_loop().

void RealTimeTerminate  ) 
 

第1パス平行認識処理の中断時の終了処理を行う.

realtime-1stpass.c898 行で定義されています。

参照元 main_recognition_loop().

void word_align WORD_ID words,
short  wnum,
HTK_Param param
 

単語ごとの forced alignment を行う.

引数:
words [in] 単語列
wnum [in] words の単語数
param [in] 入力特徴ベクトル列

word_align.c381 行で定義されています。

void phoneme_align WORD_ID words,
short  num,
HTK_Param param
 

音素ごとの forced alignment を行う.

引数:
words [in] 単語列
num [in] words の単語数
param [in] 入力特徴ベクトル列

word_align.c430 行で定義されています。

void state_align WORD_ID words,
short  num,
HTK_Param param
 

HMM状態ごとの forced alignment を行う.

引数:
words [in] 単語列
num [in] words の単語数
param [in] 入力特徴ベクトル列

word_align.c479 行で定義されています。

void word_rev_align WORD_ID revwords,
short  wnum,
HTK_Param param
 

単語ごとの forced alignment を行う(単語が逆順で与えられる場合)

引数:
revwords [in] 単語列(逆順)
wnum [in] revwords の単語数
param [in] 入力特徴ベクトル列

word_align.c403 行で定義されています。

参照元 result_reorder_and_output(), と wchmm_fbs().

void phoneme_rev_align WORD_ID revwords,
short  num,
HTK_Param param
 

音素ごとの forced alignment を行う(単語が逆順で与えられる場合)

引数:
revwords [in] 単語列(逆順)
num [in] revwords の単語数
param [in] 入力特徴ベクトル列

word_align.c452 行で定義されています。

参照元 result_reorder_and_output(), と wchmm_fbs().

void state_rev_align WORD_ID revwords,
short  num,
HTK_Param param
 

HMM状態ごとの forced alignment を行う(単語が逆順で与えられる場合)

引数:
revwords [in] 単語列(逆順)
num [in] revwords の単語数
param [in] 入力特徴ベクトル列

word_align.c501 行で定義されています。

参照元 result_reorder_and_output(), と wchmm_fbs().

void check_specs  ) 
 

指定されたパラメータをチェックする.

ファイルの存在チェックやパラメータ指定の整合性,モデルとの対応 などについてチェックを行なう.重要な誤りが見つかった場合エラー終了する.

m_chkparam.c87 行で定義されています。

参照元 main().

void print_setting  ) 
 

読み込んだモデルファイル名を出力する.

m_info.c37 行で定義されています。

参照元 print_info().

void print_info  ) 
 

全てのシステム情報を出力する.

m_info.c88 行で定義されています。

参照元 main_recognition_loop().

int adin_cut_callback_store_buffer SP16 now,
int  len
 

検出区間の音声データをバッファに保存するための adin_go() callback

この関数は,検出された音声入力を逐次バッファ speech に記録して いきます.バッファ処理モード(=非リアルタイムモード)で認識を行なう ときに用いられます.

引数:
now [in] 検出された音声波形データの断片
len [in] now の長さ(サンプル数)
戻り値:
エラー時 -1 (adin_go は即時中断する),通常時 0 (adin_go は 続行する),区間終了要求時 1 (adin_go は現在の音声区間を閉じる).

main.c103 行で定義されています。

参照元 main_recognition_loop(), と RealTimePipeLine().

void opt_terminate  ) 
 

メッセージを出力してエラー終了(オプション指定エラー時用)

m_usage.c37 行で定義されています。

参照元 args_needed_exit(), と opt_parse().

void usage  ) 
 

バージョンとメッセージを出力して終了(オプション無し実行時)

m_usage.c53 行で定義されています。

参照元 opt_parse().

void detailed_help  ) 
 

バージョン情報,エンジン設定および詳細なオプションのヘルプを表示して終了

m_usage.c72 行で定義されています。

参照元 opt_parse().

char* filepath char *  filename,
char *  dirname
 

相対パスをフルパスに変換する..

ファイルのパス名が相対パスであれば,カレントディレクトリをつけた フルパスに変換して返す.絶対パスであれば,そのまま返す.

引数:
filename [in] ファイルのパス名
dirname [in] カレントディレクトリのパス名
戻り値:
絶対パス名の入った,新たに割り付けられたバッファ

m_options.c51 行で定義されています。

参照元 multigram_add_prefix_filelist(), multigram_add_prefix_list(), と opt_parse().

void opt_parse int  argc,
char *  argv[],
char *  cwd
 

オプションを解析して対応する値をセットする.

引数:
argc [in] argv に含まれる引数の数
argv [in] 引数を表す文字列の配列
cwd [in] カレントディレクトリ文字列
< Points to next argument, or error if not exist

m_options.c109 行で定義されています。

参照元 config_file_parse(), と main().

void get_dirname char *  path  ) 
 

ファイルのパス名からディレクトリ名を抜き出す.

最後の '/' は残される.

引数:
path [i/o] ファイルのパス名(関数内で変更される)

m_jconf.c127 行で定義されています。

参照元 config_file_parse(), と multigram_add_prefix_filelist().

void config_file_parse char *  conffile  ) 
 

jconf 設定ファイルを読み込んで解析し,対応するオプションを設定する.

引数:
conffile [in] jconf ファイルのパス名

m_jconf.c159 行で定義されています。

参照元 opt_parse().

void checkpath char *  filename  ) 
 

ファイルが存在して読み込み可能かチェックする.

引数:
filename [in] ファイルパス名

m_chkparam.c39 行で定義されています。

参照元 check_specs(), multigram_add_prefix_filelist(), と multigram_add_prefix_list().

int set_beam_width WCHMM_INFO wchmm,
int  specified
 

第1パスのビーム幅を決定する..

ユーザが "-b" オプションでビーム幅を指定しなかった場合は, 下記のうち小さい方がビーム幅として採用される.

引数:
wchmm [in] 木構造化辞書
specified [in] ユーザ指定ビーム幅(0: 全探索 -1: 未指定)
戻り値:
採用されたビーム幅.

m_chkparam.c283 行で定義されています。

参照元 final_fusion().

void system_bootup  ) 
 

システム起動時に最初に呼ばれる初期化処理.メモリ割り付け関数の初期化 やエラー処理関数の登録などを行なう.

m_bootup.c95 行で定義されています。

参照元 main().

void adin_initialize  ) 
 

音声入力デバイスを初期化する.speech_input で選択されているデバイスを 初期化し,サンプリング周波数や音声検出用パラメータをセットする.

m_adin.c39 行で定義されています。

参照元 main_recognition_loop().

void final_fusion  ) 
 

全てのモデルを読み込み,認識の準備を行なう..

認識で用いる全てのモデルを読み込んだあと,モデル同士の関連づけや 木構造化辞書の構築, キャッシュの確保を行なう.またいくつかのデフォルトパラメータの決定 や,結果の出力先の設定もおこなう.

m_fusion.c338 行で定義されています。

参照元 main_recognition_loop().

void setup_result_tty  ) 
 

モジュール出力を行うよう関数を登録する.

result_tty.c650 行で定義されています。

参照元 select_result_output().

void ttyout_status_recready  ) 
 

準備が終了して、認識可能状態(入力待ち状態)に入ったときの出力

result_tty.c579 行で定義されています。

参照元 setup_result_tty().

void ttyout_status_recstart  ) 
 

入力の開始を検出したときの出力

result_tty.c597 行で定義されています。

参照元 setup_result_tty().

void ttyout_status_recend  ) 
 

入力終了を検出したときの出力

result_tty.c612 行で定義されています。

参照元 setup_result_tty().

void ttyout_status_param HTK_Param param  ) 
 

入力長などの入力パラメータ情報を出力.

引数:
param [in] 入力パラメータ構造体

result_tty.c629 行で定義されています。

参照元 setup_result_tty().

void setup_result_msock  ) 
 

モジュール出力を行うよう関数を登録する.

result_msock.c586 行で定義されています。

参照元 select_result_output().

void decode_output_selection char *  str  ) 
 

認識結果としてどういった単語情報を出力するかをセットする。

引数:
str [in] 出力項目指定文字列 ("WLPSCwlps"の一部)

result_msock.c84 行で定義されています。

参照元 opt_parse().

void msock_status_recready  ) 
 

準備が終了して、認識可能状態(入力待ち状態)に入ったときの出力

result_msock.c520 行で定義されています。

参照元 setup_result_msock().

void msock_status_recstart  ) 
 

入力の開始を検出したときの出力

result_msock.c535 行で定義されています。

参照元 setup_result_msock().

void msock_status_recend  ) 
 

入力終了を検出したときの出力

result_msock.c550 行で定義されています。

参照元 setup_result_msock().

void msock_status_param HTK_Param param  ) 
 

入力長などの入力パラメータ情報を出力.

引数:
param [in] 入力パラメータ構造体

result_msock.c567 行で定義されています。

参照元 setup_result_msock().

void hmm_check HTK_HMM_INFO hmminfo,
WORD_INFO winfo
 

コマンドライン上でトライフォンのチェックを行なうモード ("-check hmm").

引数:
hmminfo [in] HMM定義構造体
winfo [in] 単語辞書

hmm_check.c289 行で定義されています。

参照元 initialize_dict(), と multigram_read_file().

void record_sample_open  ) 
 

録音のために一時ファイルをオープンする.

record.c146 行で定義されています。

参照元 main_recognition_loop(), と RealTimePipeLinePrepare().

void record_sample_write SP16 speech,
int  samplenum
 

入力音声断片をファイルに追加記録する.

引数:
speech [in] 音声データのバッファ
samplenum [in] 音声データの長さ(サンプル数)

record.c175 行で定義されています。

参照元 adin_cut_callback_store_buffer(), と RealTimePipeLine().

void record_sample_close  ) 
 

録音を終了する.録音用の一時ファイルをクローズし、本来の名前にrenameする。

record.c207 行で定義されています。

参照元 main_recognition_loop().

void gmm_init HTK_HMM_INFO gmm,
int  gmm_prune_num
 

GMMの計算のための初期化.起動時に一度だけ呼ばれる.

引数:
gmm [in] GMM定義構造体
gmm_prune_num [in] Gaussian pruning において計算するガウス分布数

gmm.c397 行で定義されています。

参照元 initialize_GMM().

void gmm_prepare HTK_HMM_INFO gmm  ) 
 

GMM計算のための準備を行なう.1入力開始ごとに呼ばれる.

引数:
gmm [in] GMM定義構造体

gmm.c436 行で定義されています。

参照元 get_back_trellis_init().

void gmm_proceed HTK_HMM_INFO gmm,
HTK_Param param,
int  t
 

与えられた入力ベクトル列上のあるフレームについて,全GMMのスコアを計算し, 計算結果を gmm_score に積算する.

引数:
gmm [in] GMM定義構造体
param [in] 入力ベクトル列
t [in] 計算する時刻フレーム

gmm.c469 行で定義されています。

参照元 get_back_trellis_proceed().

void gmm_end HTK_HMM_INFO gmm  ) 
 

GMMの計算を終了し,結果を出力する..

gmm_proceed() によって累積された各フレームごとのスコアから, 最大スコアのGMMを決定する.その事後確率に基づく信頼度を計算し 最終的な結果を result_gmm() によって出力する.

引数:
gmm [in] GMM定義構造体

gmm.c512 行で定義されています。

参照元 finalize_1st_pass().

void msock_gmm  ) 
 

GMMの計算結果をモジュールのクライアントに送信する ("-result msock" 用)

gmm.c622 行で定義されています。

参照元 setup_result_msock().

void ttyout_gmm  ) 
 

GMMの計算結果を標準出力に出力する.("-result tty" 用)

gmm.c584 行で定義されています。

参照元 setup_result_tty().

boolean gmm_valid_input  ) 
 

GMMの識別結果,最後の入力が音声入力として有効であったか 無効であったかを返す.

戻り値:
一位のGMMの名前が gmm_reject_cmn_string 内に無ければ valid として TRUE, あれば invalid として FALSE を返す.

gmm.c562 行で定義されています。

参照元 main_recognition_loop(), と RealTimeCMNUpdate().

void main_recognition_loop  ) 
 

メインの音声認識実行ループ

この関数は音声認識を実行するメインループです.最初にシステムの初期化を 行ない,その後イベントループに入ります.イベントループでは音声区間が検出 されると,その音声区間について認識処理の第1パス,第2パスを行ない,結果を 出力します.またモジュールモードの場合は命令コマンドの処理の呼び出しを 行ないます.

Main Recognition Loop

main.c253 行で定義されています。

参照元 main(), と main_module_loop().


Juliusに対してTue Mar 28 16:20:58 2006に生成されました。  doxygen 1.4.2