libsent/src/hmminfo/cdhmm.c File Reference

Sub functions to access context dependent HMM from phones. More...

#include <sent/stddefs.h>
#include <sent/htk_hmm.h>

Go to the source code of this file.

Functions

void add_right_context (char name[], char *rc)
 Generate context-dependent phone name from base phone name and its right context phone name.
void add_left_context (char name[], char *lc)
 Generate context-dependent phone name from base phone name and its left context phone name.
HMM_Logicalget_right_context_HMM (HMM_Logical *base, char *rc_name, HTK_HMM_INFO *hmminfo)
 Search for right context HMM in logical HMM.
HMM_Logicalget_left_context_HMM (HMM_Logical *base, char *lc_name, HTK_HMM_INFO *hmminfo)
 Search for left context HMM in logical HMM.
char * center_name (char *hmmname, char *buf)
 Extract the center phone name and copy to the specified buffer.
char * leftcenter_name (char *hmmname, char *buf)
 Return "left - center" phone name, modifying buf.
char * rightcenter_name (char *hmmname, char *buf)
 Return "center + right" phone name, modifying buf.

Variables

static char gbuf [MAX_HMMNAME_LEN]
 Work area for get_{right|left}_context_HMM.


Detailed Description

Sub functions to access context dependent HMM from phones.

Author:
Akinobu LEE
Date:
Tue Feb 15 17:33:47 2005
Revision
1.1.1.1

Definition in file cdhmm.c.


Function Documentation

void add_right_context ( char  name[],
char *  rc 
)

Generate context-dependent phone name from base phone name and its right context phone name.

The center phone name of the right context name will be appended to the base phone name. If the phone name already has right context, it will be renamed to the new one.

Parameters:
name [i/o] string of phone name to be the base name (will be modified)
rc [in] right context phone name

Definition at line 46 of file cdhmm.c.

Referenced by get_right_context_HMM(), triphone_callback_normal(), and triphone_callback_right().

void add_left_context ( char  name[],
char *  lc 
)

Generate context-dependent phone name from base phone name and its left context phone name.

The center phone name of the left context name will be appended to the base phone name. If the phone name already has left context, it will be renamed to the new one.

Parameters:
name [i/o] string of phone name to be the base name (will be modified)
lc [in] left context phone name

Definition at line 73 of file cdhmm.c.

Referenced by get_left_context_HMM(), triphone_callback_left(), and triphone_callback_normal().

HMM_Logical* get_right_context_HMM ( HMM_Logical base,
char *  rc_name,
HTK_HMM_INFO hmminfo 
)

Search for right context HMM in logical HMM.

The name of a new right context HMM, given base phone HMM and a right context phone string, will be generated, and search it in the list of logical HMM. If found, return the pointer to the logical HMM.

Parameters:
base [in] base phone HMM
rc_name [in] right context phone name (allow context-dependent name)
hmminfo [in] HTK HMM definition data
Returns:
the pointer to the logical HMM, or NULL if not found.

Definition at line 107 of file cdhmm.c.

Referenced by make_phseq(), next_word(), and scan_word().

HMM_Logical* get_left_context_HMM ( HMM_Logical base,
char *  lc_name,
HTK_HMM_INFO hmminfo 
)

Search for left context HMM in logical HMM.

The name of a new left context HMM, given base phone HMM and a left context phone string, will be generated, and search it in the list of logical HMM. If found, return the pointer to the logical HMM.

Parameters:
base [in] base phone HMM
lc_name [in] left context phone name (allow context-dependent name)
hmminfo [in] HTK HMM definition data
Returns:
the pointer to the logical HMM, or NULL if not found.

Definition at line 129 of file cdhmm.c.

Referenced by make_phseq(), and scan_word().

char* center_name ( char *  hmmname,
char *  buf 
)

Extract the center phone name and copy to the specified buffer.

Parameters:
hmmname [in] string from which the center phone name will be extracted
buf [out] the extracted phone name will be written here
Returns:
the argument buf.

Definition at line 145 of file cdhmm.c.

Referenced by add_left_context(), add_right_context(), build_state2gs(), hmm_add_pseudo_phones(), make_cdset(), make_hmm_basephone_list(), mark_word_edge(), msock_word_out1(), msock_word_out2(), new_str2phseq(), put_hypo_phoneme(), result_pass1(), and voca_load_wordlist_line().

char* leftcenter_name ( char *  hmmname,
char *  buf 
)

Return "left - center" phone name, modifying buf.

Parameters:
hmmname [in] context-dependent phone name string
buf [out] resulting phone name
Returns:
the argument buf.

Definition at line 176 of file cdhmm.c.

Referenced by hmm_add_pseudo_phones(), lcdset_lookup_by_hmmname(), make_cdset(), new_str2phseq(), and voca_load_wordlist_line().

char* rightcenter_name ( char *  hmmname,
char *  buf 
)

Return "center + right" phone name, modifying buf.

Parameters:
hmmname [in] context-dependent phone name string
buf [out] resulting phone name
Returns:
the argument buf.

Definition at line 198 of file cdhmm.c.

Referenced by hmm_add_pseudo_phones(), make_cdset(), new_str2phseq(), rcdset_lookup_by_hmmname(), and voca_load_wordlist_line().


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