Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

chkhmmlist.c File Reference

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

#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)
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_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.

Author:
Akinobu LEE
Date:
Tue Feb 15 19:17:51 2005
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.

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

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

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

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

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

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

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

Parameters:
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  )  [static]
 

Add unknown (error) triphone to error list.

Parameters:
lostname [in] name of error triphone.

Definition at line 210 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.

Parameters:
x [in] pointer to error phone name

Definition at line 231 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 245 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 287 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 316 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 339 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.

Parameters:
hmminfo [i/o] HMM definition information, basephone list will be added.
winfo [in] word dictionary information

Definition at line 380 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.

Parameters:
hmminfo [in] HMM definition data.

Definition at line 394 of file chkhmmlist.c.

Referenced by hmm_check().


Generated on Tue Mar 28 16:03:06 2006 for Julius by  doxygen 1.4.2