Julius 4.2
|
HMMList に全ての可能なトライフォンが含まれているかチェックする [詳細]
関数 | |
void | make_hmm_basephone_list (HTK_HMM_INFO *hmminfo) |
Build a list of base phones by gathering center phones of the defined HMM. | |
static void | print_callback_detail (void *x) |
Traverse function callback to output detailed information of a basephone in text to stdout. | |
static void | print_callback_name (void *x) |
Traverse function callback to output name of a basephone in text to stdout. | |
void | print_all_basephone_detail (HMM_basephone *base) |
Output all basephone informations to stdout. | |
void | print_all_basephone_name (HMM_basephone *base) |
Output all basephone names to stdout. | |
static void | count_callback (void *x) |
Traverse callback function to increment the number of base phones that can appear at beginning of word and end of word. | |
static void | count_all_phone (HMM_basephone *base) |
Count the total number of base phones that can appear at beginning of word and end of word. | |
static boolean | mark_word_edge (WORD_INFO *winfo, HMM_basephone *base) |
Mark each basephone if it can appear at beginning or end of a word. | |
static void | add_to_error (char *lostname, HTK_HMM_INFO *hmminfo) |
Add unknown (error) triphone to error list. | |
static void | print_error_callback (void *x) |
Traverse callback function to output error phone name. | |
static void | triphone_callback_normal (void *x) |
Traverse callback function to check if the cross-word triphones "basephone x - word[current_w]" and "word[current_w] + basephone x" exist, according to the basephone mark. | |
static void | triphone_callback_right (void *x) |
Traverse callback function to check if the cross-word triphone "basephone x - word[current_w] + basephone x" exist, for words with only one phone: right part. | |
static void | triphone_callback_left (void *x) |
Traverse callback function to check if the cross-word triphone "basephone x - word[current_w] + basephone x" exist, for words with only one phone: left part. | |
void | test_interword_triphone (HTK_HMM_INFO *hmminfo, WORD_INFO *winfo) |
Top function to check if all the possible triphones on given word dictionary actually exist in the logical HMM. | |
boolean | make_base_phone (HTK_HMM_INFO *hmminfo, WORD_INFO *winfo) |
Build basephone information. | |
void | print_phone_info (FILE *fp, HTK_HMM_INFO *hmminfo) |
Output general information concerning phone mapping in HMM definition. | |
変数 | |
static int | bncnt |
Count of basephone that can appear at the beginning of sentence. | |
static int | edcnt |
Count of basephone that can appear at the end of sentence. | |
static HTK_HMM_INFO * | local_hmminfo |
Local work area to hold HTK HMM data. | |
static WORD_INFO * | local_winfo |
Local work area to hold word dictionary. | |
static APATNODE * | local_root |
Local work area to hold basephone index root. | |
static WORD_ID | current_w |
Local work area to hold current word ID. | |
static char | gbuf [MAX_HMMNAME_LEN] |
Local work area for phone name handling. | |
static APATNODE * | error_root |
Error phone list. | |
static int | error_num |
Number of encountered error phone. |
HMMList に全ての可能なトライフォンが含まれているかチェックする
与えられた音響モデルにおいて,認識時に登場しうる全てのトライフォンが HMM定義あるいはHMMListで定義されているかどうかをチェックします.
チェック時には辞書の語彙が考慮されます.すなわち,与えられた語彙の単語内 および単語間で生じうるトライフォンについてのみチェックされます.
chkhmmlist.c で定義されています。
void make_hmm_basephone_list | ( | HTK_HMM_INFO * | hmminfo | ) |
Build a list of base phones by gathering center phones of the defined HMM.
hmminfo | [i/o] HMM definition data |
chkhmmlist.c の 48 行で定義されています。
参照元 init_hmminfo().
static void print_callback_detail | ( | void * | x | ) | [static] |
Traverse function callback to output detailed information of a basephone in text to stdout.
x | [in] pointer to a basephone data. |
chkhmmlist.c の 83 行で定義されています。
static void print_callback_name | ( | void * | x | ) | [static] |
Traverse function callback to output name of a basephone in text to stdout.
x | [in] pointer to a basephone data. |
chkhmmlist.c の 95 行で定義されています。
void print_all_basephone_detail | ( | HMM_basephone * | base | ) |
Output all basephone informations to stdout.
base | [in] pointer to the top basephone data holder. |
chkhmmlist.c の 106 行で定義されています。
参照元 hmm_check().
void print_all_basephone_name | ( | HMM_basephone * | base | ) |
Output all basephone names to stdout.
base | [in] pointer to the top basephone data holder. |
chkhmmlist.c の 116 行で定義されています。
参照元 hmm_check().
static void count_callback | ( | void * | x | ) | [static] |
Traverse callback function to increment the number of base phones that can appear at beginning of word and end of word.
x | [in] pointer |
chkhmmlist.c の 131 行で定義されています。
参照元 count_all_phone().
static void count_all_phone | ( | HMM_basephone * | base | ) | [static] |
Count the total number of base phones that can appear at beginning of word and end of word.
base |
chkhmmlist.c の 145 行で定義されています。
参照元 make_base_phone().
static boolean mark_word_edge | ( | WORD_INFO * | winfo, |
HMM_basephone * | base | ||
) | [static] |
Mark each basephone if it can appear at beginning or end of a word.
winfo | [in] word dictinary |
base | [in] top basephone data holder |
chkhmmlist.c の 160 行で定義されています。
参照元 make_base_phone().
static void add_to_error | ( | char * | lostname, |
HTK_HMM_INFO * | hmminfo | ||
) | [static] |
Add unknown (error) triphone to error list.
lostname | [in] name of error triphone. |
hmminfo | [i/o] HMM definition data |
chkhmmlist.c の 217 行で定義されています。
参照元 triphone_callback_normal(), と triphone_callback_right().
static void print_error_callback | ( | void * | x | ) | [static] |
Traverse callback function to output error phone name.
x | [in] pointer to error phone name |
chkhmmlist.c の 238 行で定義されています。
static void triphone_callback_normal | ( | void * | x | ) | [static] |
Traverse callback function to check if the cross-word triphones "basephone x - word[current_w]" and "word[current_w] + basephone x" exist, according to the basephone mark.
x | [in] a basephone |
chkhmmlist.c の 252 行で定義されています。
static void triphone_callback_right | ( | void * | x | ) | [static] |
Traverse callback function to check if the cross-word triphone "basephone x - word[current_w] + basephone x" exist, for words with only one phone: right part.
x | [in] a basephone |
chkhmmlist.c の 294 行で定義されています。
static void triphone_callback_left | ( | void * | x | ) | [static] |
Traverse callback function to check if the cross-word triphone "basephone x - word[current_w] + basephone x" exist, for words with only one phone: left part.
x | [in] a basephone |
chkhmmlist.c の 323 行で定義されています。
void test_interword_triphone | ( | HTK_HMM_INFO * | hmminfo, |
WORD_INFO * | winfo | ||
) |
Top function to check if all the possible triphones on given word dictionary actually exist in the logical HMM.
hmminfo | [in] HMM definition information, with basephone list. |
winfo | [in] word dictionary information |
chkhmmlist.c の 345 行で定義されています。
参照元 hmm_check().
boolean make_base_phone | ( | HTK_HMM_INFO * | hmminfo, |
WORD_INFO * | winfo | ||
) |
Build basephone information.
Extract base phones from HMM definition, mark them whether they appear on word head or word tail, and count the number.
hmminfo | [i/o] HMM definition information, basephone list will be added. |
winfo | [in] word dictionary information |
chkhmmlist.c の 386 行で定義されています。
参照元 hmm_check().
void print_phone_info | ( | FILE * | fp, |
HTK_HMM_INFO * | hmminfo | ||
) |
Output general information concerning phone mapping in HMM definition.
fp | [in] file descriptor |
hmminfo | [in] HMM definition data. |
chkhmmlist.c の 404 行で定義されています。
参照元 hmm_check().