#include <sent/htk_hmm.h>
#include <sent/vocabulary.h>
Go to the source code of this file.
Functions | |
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. | |
Variables | |
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. |
These functions check whether all the possible triphones that may appear while recognition process is fully defined or mapped in HMM definition file and HMMList file.
Word dictionary is considered for the test. Only triphones that can appear as word-internal triphones and cross-word triphones on the given dictionary will be considered.
Definition in file 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 |
Definition at line 48 of file chkhmmlist.c.
Referenced by 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. |
Definition at line 83 of file chkhmmlist.c.
Referenced by print_all_basephone_detail().
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. |
Definition at line 95 of file chkhmmlist.c.
Referenced by print_all_basephone_name().
void print_all_basephone_detail | ( | HMM_basephone * | base | ) |
Output all basephone informations to stdout.
base | [in] pointer to the top basephone data holder. |
Definition at line 106 of file chkhmmlist.c.
Referenced by 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. |
Definition at line 116 of file chkhmmlist.c.
Referenced by 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 |
Definition at line 131 of file chkhmmlist.c.
Referenced by 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 |
Definition at line 145 of file chkhmmlist.c.
Referenced by 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 |
Definition at line 160 of file chkhmmlist.c.
Referenced by 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 |
Definition at line 217 of file chkhmmlist.c.
Referenced by triphone_callback_normal(), triphone_callback_right(), voca_load_htkdict_line(), and voca_load_wordlist_line().
static void print_error_callback | ( | void * | x | ) | [static] |
Traverse callback function to output error phone name.
x | [in] pointer to error phone name |
Definition at line 238 of file chkhmmlist.c.
Referenced by test_interword_triphone().
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 |
Definition at line 252 of file chkhmmlist.c.
Referenced by test_interword_triphone().
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 |
Definition at line 294 of file chkhmmlist.c.
Referenced by triphone_callback_left().
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 |
Definition at line 323 of file chkhmmlist.c.
Referenced by test_interword_triphone().
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 |
Definition at line 345 of file chkhmmlist.c.
Referenced by 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 |
Definition at line 386 of file chkhmmlist.c.
Referenced by 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. |
Definition at line 404 of file chkhmmlist.c.
Referenced by hmm_check().