libsent/src/hmminfo/cdset.c File Reference

Generate and manage the pseudo HMM set. More...

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

Include dependency graph for cdset.c:

Go to the source code of this file.
#define CD_STATE_SET_STEP   10
 CD_State_Set memory allocation step.
static void cdset_init (HTK_HMM_INFO *hmminfo)
static CD_Setcdset_new ()
CD_Setcdset_lookup (HTK_HMM_INFO *hmminfo, char *cdstr)
CD_Setlcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname)
CD_Setrcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname)
static void put_cdset (void *ptr)
void put_all_cdinfo (HTK_HMM_INFO *hmminfo)
boolean regist_cdset (APATNODE **root, HTK_HMM_Data *d, char *cdname)
boolean remove_cdset (HTK_HMM_INFO *hmminfo, char *cdname)
boolean make_cdset (HTK_HMM_INFO *hmminfo)
static void callback_free_lcdset_content (void *arg)
void free_cdset (APATNODE **root)


Detailed Description

Generate and manage the pseudo HMM set.

Author:
Akinobu LEE
Date:
Tue Feb 15 17:58:54 2005
"Pseudo %HMM" is mainly for a substitution for unknown context-dependent biphone and monophone HMM that has not been defined in HTK HMM definition and HMMList mapping file. They are used mainly in the cross-word triphone computation on the 1st pass.

Julius first generates a list of possible biphone and monophone after reading HTK HMM definition file and HMMList logical name mapping file. It then generate CD_Set structure for each possible biphone and monophones by parsing all the HMM definition to find the same context as each phones.

For example, the triphones like "a-k+e", "a-k+b", "a-k+a" will be grouped as pseudo phone set "a-k". A pseudo phone "k" will contain all triphone variants of the same base phone "k". This generated pseudo HMM sets are stored in cdset_info in HTK_HMM_INFO.

Then, the pseudo phones, whose names (biphone or monophone) do not appear in both of the HTK HMM definitions and HMMList mapping file, will be added as aliases to unspecified phones in the HMM index tree. If biphones or monophones are explicitly defined in HMM definition or HMMList file, they will be used instead of this pseudo phone.

Revision
1.5

Definition in file cdset.c.


Generated on Tue Dec 26 16:17:51 2006 for Julius by  doxygen 1.5.0