|Name string of this logical HMM |
|TRUE if this is mapped to pseudo HMM |
|HTK_HMM_Data * defined|
|pointer to the mapped physical HMM |
|CD_Set * pseudo|
|pointer to the mapped pseudo HMM |
|struct _HMM_logical *||next|
|Pointer to next data, NULL if last |
This data maps logical HMM name to physical (defined) HMM or pseudo HMM. The logical HMM names are basically loaded from HMMList mapping file. Biphone/monophone HMM names, not listed in the HMMList file, are mapped to pseudo phones, which represents the context-dependent HMM set.
For example, if logical biphone HMM name "e-k" is defined in HMM definition file or its mapping is specified in the HMMList file, the Logical HMM name "e-k" will be mapped to the corresponding defined HMM. If "e-k" does not exist in both HMM definition file and HMMList file, triphones whose name matches "e-k+*" will be gathered to phone context-dependent HMM set "e-k", and the logical HMM name "e-k" will be mapped to this HMM set.
The context-dependent HMM is also called a "pseudo" phone in Julius.
htk_hmm.h の 272 行で定義されています。