libsent/src/hmminfo/rdhmmdef_tiedmix.c File Reference

Read HTK HMM definition file: mixture codebook in tied-mixture model. More...

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

Go to the source code of this file.

Functions

static GCODEBOOKcodebook_lookup (HTK_HMM_INFO *hmm, char *keyname)
 Look up a data macro by the name.
void codebook_add (HTK_HMM_INFO *hmm, GCODEBOOK *new)
 Add a new data to the global structure.
static void tmix_create_codebook_index (HTK_HMM_INFO *hmminfo, GCODEBOOK *book)
 Convert codebook ID to the defined HMM density.
void tmix_read (FILE *fp, HTK_HMM_State *state, HTK_HMM_INFO *hmm)
 Read a codebook name and weights, build the codebook structure on demand, and assigns them to the current state.

Variables

char * rdhmmdef_token
 Current token.


Detailed Description

Read HTK HMM definition file: mixture codebook in tied-mixture model.

Author:
Akinobu LEE
Date:
Wed Feb 16 03:25:11 2005
Revision
1.1.1.1

Definition in file rdhmmdef_tiedmix.c.


Function Documentation

static GCODEBOOK* codebook_lookup ( HTK_HMM_INFO hmm,
char *  keyname 
) [static]

Look up a data macro by the name.

Parameters:
hmm [in] HMM definition data
keyname [in] macro name to find
Returns:
pointer to the found data, or NULL if not found.

Definition at line 39 of file rdhmmdef_tiedmix.c.

Referenced by tmix_read().

void codebook_add ( HTK_HMM_INFO hmm,
GCODEBOOK new 
)

Add a new data to the global structure.

Parameters:
hmm [i/o] HMM definition data to store it
new [in] new data to be added

Definition at line 59 of file rdhmmdef_tiedmix.c.

Referenced by rd_tmix(), and tmix_read().

static void tmix_create_codebook_index ( HTK_HMM_INFO hmminfo,
GCODEBOOK book 
) [static]

Convert codebook ID to the defined HMM density.

This function assigns a list of HMM density definition to the given codebook. The densities are searched by the name of codebook name followed by the mixture component ID starting from 1. For example, if you have a codebook whose name is "ny4s2m", The densities of names like "ny4s2m1", "ny4s2m2", ... will be searched through the HMM definition data. The resulting list will be stored in the codebook.

If some density definitions are not found, they are just skipped. In this case, a warning message will be output to standard error.

Parameters:
hmminfo [in] HMM definition data that has densities
book [i/o] codebook, name given and density list will be stored.

Definition at line 92 of file rdhmmdef_tiedmix.c.

Referenced by tmix_read().

void tmix_read ( FILE *  fp,
HTK_HMM_State state,
HTK_HMM_INFO hmm 
)

Read a codebook name and weights, build the codebook structure on demand, and assigns them to the current state.

The required codebook on the current token will be assigned to this state. If the corresponding codebook structure is not built yet, it will be constructed here on demand by gathering corresponding mixture density definitions. Then this state will store the pointer to the codebook, together with its own mixture weights in the following tokens.

Parameters:
fp [in] file pointer
state [i/o] current HMM state to hold pointer to the codebook and their weights
hmm [i/o] HMM definition data, codebook statistics and tied-mixture marker will be modified.

Definition at line 137 of file rdhmmdef_tiedmix.c.

Referenced by state_read().


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