libsent/src/hmminfo/chkhmmlist.c File Reference

Check existence of all possible triphone in HMMList. More...

#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_INFOlocal_hmminfo
 Local work area to hold HTK HMM data.
static WORD_INFOlocal_winfo
 Local work area to hold word dictionary.
static APATNODElocal_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 APATNODEerror_root
 Error phone list.
static int error_num
 Number of encountered error phone.


Detailed Description

Check existence of all possible triphone in HMMList.

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.

Author:
Akinobu LEE
Date:
Tue Feb 15 19:17:51 2005
Revision
1.1.1.1

Definition in file chkhmmlist.c.


Function Documentation

void make_hmm_basephone_list ( HTK_HMM_INFO hmminfo  ) 

Build a list of base phones by gathering center phones of the defined HMM.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
fp [in] file descriptor
hmminfo [in] HMM definition data.

Definition at line 404 of file chkhmmlist.c.

Referenced by hmm_check().


Generated on Tue Dec 18 16:01:39 2007 for Julius by  doxygen 1.5.4