Data Structures | |
struct | CD_State_Set |
struct | CD_State_Set |
struct | CD_Set |
Context-dependent HMM set (called "pseudo") for a logical context. More... | |
struct | HMM_CDSET_INFO |
Top structure to hold all the HMM sets. More... | |
struct | HMM_Logical |
Logical HMM to map logical names to physical/pseudo HMM. More... | |
#define | CD_STATE_SET_STEP 10 |
static void | cdset_init (HTK_HMM_INFO *hmminfo) |
Initialize total pseudo HMM information in the given HMM definition data. | |
static CD_Set * | cdset_new () |
Allocate a CD_Set data for a new pseudo phone set. | |
CD_Set * | cdset_lookup (HTK_HMM_INFO *hmminfo, char *cdstr) |
Look up for a pseudo phone with the name, and return the content. | |
CD_Set * | lcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname) |
Look up for a pseudo phone by the "left - center" name of the given phone name. | |
CD_Set * | rcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname) |
Look up for a pseudo phone by the "center + right" name of the given phone name. | |
static void | put_cdset (void *ptr) |
Output text information of a pseudo phone to stdout. | |
void | put_all_cdinfo (HTK_HMM_INFO *hmminfo) |
Output all pseudo phone set information to stdout. | |
boolean | regist_cdset (APATNODE **root, HTK_HMM_Data *d, char *cdname) |
Register a physical HMM as a member of a pseudo phone set. | |
boolean | remove_cdset (HTK_HMM_INFO *hmminfo, char *cdname) |
Remove an pseudo phone set entry from index tree. | |
boolean | make_cdset (HTK_HMM_INFO *hmminfo) |
Construct the whole pseudo HMM information, and also add them to the logical Triphone tree. | |
static void | callback_free_lcdset_content (void *arg) |
callback for aptree function to free the content of pseudo phone set. | |
void | free_cdset (APATNODE **root) |
Remove all the registered category-indexed pseudo state sets. |
This structure will be used to handle cross-word triphone on the 1st pass. At a triphone HMM at the edge of a word in the tree lexicon, the state nodes should have a set of HMM states with the same base phone of all triphones at the same location instead of a single state information. This context-dependent HMM set for cross-word triphone is also called as "pseudo" phone in Julius.
When computing the 1st pass, the maximum (or average or N-best average) value from the likelihoods of state set will be taken as the output probability of the states instead of the actual cross-word triphone.
This approximated value will be fixed by re-computation on the 2nd pass.
#define CD_STATE_SET_STEP 10 |
CD_State_Set memory allocation step
Definition at line 80 of file cdset.c.
Referenced by regist_cdset().
static void cdset_init | ( | HTK_HMM_INFO * | hmminfo | ) | [static] |
Initialize total pseudo HMM information in the given HMM definition data.
hmminfo | [i/o] HTK HMM definitions |
Definition at line 88 of file cdset.c.
Referenced by make_cdset().
static CD_Set* cdset_new | ( | ) | [static] |
Allocate a CD_Set data for a new pseudo phone set.
Definition at line 99 of file cdset.c.
Referenced by regist_cdset().
CD_Set* cdset_lookup | ( | HTK_HMM_INFO * | hmminfo, | |
char * | cdstr | |||
) |
Look up for a pseudo phone with the name, and return the content.
hmminfo | [in] HMM information to search for. | |
cdstr | [in] string of pseudo phone name to search. |
Definition at line 113 of file cdset.c.
Referenced by hmm_add_pseudo_phones_sub(), lcdset_lookup_by_hmmname(), and rcdset_lookup_by_hmmname().
CD_Set* lcdset_lookup_by_hmmname | ( | HTK_HMM_INFO * | hmminfo, | |
char * | hmmname | |||
) |
Look up for a pseudo phone by the "left - center" name of the given phone name.
hmminfo | [in] HMM information to search for. | |
hmmname | [in] string of the phone name. |
Definition at line 133 of file cdset.c.
Referenced by wchmm_add_word().
CD_Set* rcdset_lookup_by_hmmname | ( | HTK_HMM_INFO * | hmminfo, | |
char * | hmmname | |||
) |
static void put_cdset | ( | void * | ptr | ) | [static] |
Output text information of a pseudo phone to stdout.
ptr | [in] pointer to a pseudo phone set. |
Definition at line 163 of file cdset.c.
Referenced by put_all_cdinfo().
void put_all_cdinfo | ( | HTK_HMM_INFO * | hmminfo | ) |
boolean regist_cdset | ( | APATNODE ** | root, | |
HTK_HMM_Data * | d, | |||
char * | cdname | |||
) |
Register a physical HMM as a member of a pseudo phone set.
root | [i/o] root node of HMM search index node. | |
d | [in] a physical defined HMM to be added. | |
cdname | [in] name of the pseudo phone set. |
Definition at line 207 of file cdset.c.
Referenced by make_cdset().
boolean remove_cdset | ( | HTK_HMM_INFO * | hmminfo, | |
char * | cdname | |||
) |
boolean make_cdset | ( | HTK_HMM_INFO * | hmminfo | ) |
Construct the whole pseudo HMM information, and also add them to the logical Triphone tree.
hmminfo | [i/o] HMM definition data. The generated data will also be stored within this. |
Definition at line 353 of file cdset.c.
Referenced by initialize_HMM().
static void callback_free_lcdset_content | ( | void * | arg | ) | [static] |
callback for aptree function to free the content of pseudo phone set.
arg | [in] pointer to the pseudo phone set to be free |
Definition at line 390 of file cdset.c.
Referenced by free_cdset().
void free_cdset | ( | APATNODE ** | root | ) |
Remove all the registered category-indexed pseudo state sets.
This function will be called when a grammar is changed to re-build the state sets.
root | [i/o] pointer to hold the root index pointer |
Definition at line 412 of file cdset.c.
Referenced by hmminfo_free().