#include <sent/htk_hmm.h>
#include <sent/vocabulary.h>
Include dependency graph for chkhmmlist.c:
Go to the source code of this file.
Functions | |
void | make_hmm_basephone_list (HTK_HMM_INFO *hmminfo) |
static void | print_callback_detail (void *x) |
static void | print_callback_name (void *x) |
void | print_all_basephone_detail (HMM_basephone *base) |
void | print_all_basephone_name (HMM_basephone *base) |
static void | count_callback (void *x) |
static void | count_all_phone (HMM_basephone *base) |
static void | mark_word_edge (WORD_INFO *winfo, HMM_basephone *base) |
static void | add_to_error (char *lostname, HTK_HMM_INFO *hmminfo) |
static void | print_error_callback (void *x) |
static void | triphone_callback_normal (void *x) |
static void | triphone_callback_right (void *x) |
static void | triphone_callback_left (void *x) |
void | test_interword_triphone (HTK_HMM_INFO *hmminfo, WORD_INFO *winfo) |
void | make_base_phone (HTK_HMM_INFO *hmminfo, WORD_INFO *winfo) |
Build basephone information. | |
void | print_phone_info (HTK_HMM_INFO *hmminfo) |
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. |
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 47 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 82 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 94 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 105 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 115 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 130 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 144 of file chkhmmlist.c.
Referenced by make_base_phone().
static void 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 159 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 211 of file chkhmmlist.c.
Referenced by triphone_callback_normal(), triphone_callback_right(), and voca_load_htkdict_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 232 of file chkhmmlist.c.
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 246 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 288 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 317 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 340 of file chkhmmlist.c.
Referenced by hmm_check().
void 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 381 of file chkhmmlist.c.
Referenced by hmm_check().
void print_phone_info | ( | HTK_HMM_INFO * | hmminfo | ) |
Output general information concerning phone mapping in HMM definition.
hmminfo | [in] HMM definition data. |
Definition at line 395 of file chkhmmlist.c.
Referenced by hmm_check().