#include <sent/stddefs.h>
#include <sent/htk_param.h>
#include <sent/htk_hmm.h>
Go to the source code of this file.
Defines | |
#define | rdn(A, B, C, D) if (rdnfunc(A,B,C,D) == FALSE) return FALSE |
#define | rdn_str(A, B, C) if ((C = rdn_strfunc(A,B)) == NULL) return FALSE |
Functions | |
static boolean | rdnfunc (FILE *fp, void *buf, size_t unitbyte, int unitnum) |
Binary read function with byte swaping (assume file is BIG ENDIAN). | |
static char * | rdn_strfunc (FILE *fp, HTK_HMM_INFO *hmm) |
Read a string till NULL. | |
static boolean | rd_para (FILE *fp, Value *para) |
Read acoustic analysis configration parameters from header of binary HMM. | |
static boolean | rd_header (FILE *fp, HTK_HMM_INFO *hmm, Value *para, boolean *mpdf_macro_ret) |
Read header string of binary HMM file. | |
static boolean | rd_opt (FILE *fp, HTK_HMM_Options *opt) |
Read HMM option specifications. | |
static boolean | rd_type (FILE *fp, HTK_HMM_INFO *hmm) |
Read HMM type of mixture tying. | |
static boolean | rd_trans (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of transition matrix data for tr_num. | |
static boolean | rd_var (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of variance vector for vr_num. | |
static boolean | rd_dens (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of mixture densities for dens_num. | |
static boolean | rd_streamweight (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of stream weights for streamweight_num. | |
static boolean | rd_tmix (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of mixture codebook for tm_num. | |
static boolean | rd_pdf_sub (FILE *fp, HTK_HMM_INFO *hmm, HTK_HMM_PDF *m) |
Read a mixture PDF. | |
static boolean | rd_mpdf (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of mixture pdf for mpdf_num. | |
static boolean | rd_state (FILE *fp, HTK_HMM_INFO *hmm, boolean mpdf_macro) |
Read a sequence of state data for st_num. | |
static boolean | rd_data (FILE *fp, HTK_HMM_INFO *hmm) |
Read a sequence of HMM models. | |
boolean | read_binhmm (FILE *fp, HTK_HMM_INFO *hmm, boolean gzfile_p, Value *para) |
Top function to read a binary HMM file from fp. | |
Variables | |
static boolean | gzfile |
TRUE when opened by fopen_readfile. | |
static char | buf [MAXLINELEN] |
Local work are for text handling. | |
static char | nostr = '\0' |
static char * | binhmm_header = BINHMM_HEADER |
Header string. | |
static char * | binhmm_header_v2 = BINHMM_HEADER_V2 |
Header string for V2. | |
static HTK_HMM_Trans ** | tr_index |
Map transition matrix id to its pointer. | |
static unsigned int | tr_num |
Length of above. | |
static HTK_HMM_Var ** | vr_index |
Map variance id to its pointer. | |
static unsigned int | vr_num |
Length of above. | |
static HTK_HMM_Dens ** | dens_index |
Map density id to its pointer. | |
static unsigned int | dens_num |
Length of above. | |
static HTK_HMM_StreamWeight ** | streamweight_index |
Map stream weights id to its pointer. | |
static unsigned int | streamweight_num |
Length of above. | |
static GCODEBOOK ** | tm_index |
Map codebook id to its pointer. | |
static unsigned int | tm_num |
Length of above. | |
static HTK_HMM_PDF ** | mpdf_index |
Map mixture pdf id to its pointer. | |
static unsigned int | mpdf_num |
Length of above. | |
static HTK_HMM_State ** | st_index |
Map state id to its pointer. | |
static unsigned int | st_num |
Length of above. |
Julius supports a binary format of HMM definition file. The tool "mkbinhmm" can convert the ascii format HTK HMM definition file to this format. Please note that this binary format is not compatible with the HTK binary format.
Definition in file read_binhmm.c.
static boolean rdnfunc | ( | FILE * | fp, | |
void * | buf, | |||
size_t | unitbyte, | |||
int | unitnum | |||
) | [static] |
Binary read function with byte swaping (assume file is BIG ENDIAN).
fp | [in] file pointer | |
buf | [out] read data | |
unitbyte | [in] size of a unit in bytes | |
unitnum | [in] number of unit to be read |
Definition at line 54 of file read_binhmm.c.
static char* rdn_strfunc | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a string till NULL.
fp | [in] file pointer | |
hmm | [out] pointer to HMM definition data to store the values. |
Definition at line 88 of file read_binhmm.c.
Read acoustic analysis configration parameters from header of binary HMM.
fp | [in] file pointer | |
para | [out] acoustic analysis configration parameters |
Definition at line 125 of file read_binhmm.c.
Referenced by rd_header().
static boolean rd_header | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm, | |||
Value * | para, | |||
boolean * | mpdf_macro_ret | |||
) | [static] |
Read header string of binary HMM file.
fp | [in] file pointer | |
hmm | [out] pointer to HMM definition data to store the values. | |
para | [out] store embedded acoustic parameters if any (V2) | |
mpdf_macro_ret | [out] will be set to TRUE if the file contains mixture pdf macro defined by "~p" |
Definition at line 181 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_opt | ( | FILE * | fp, | |
HTK_HMM_Options * | opt | |||
) | [static] |
Read HMM option specifications.
fp | [in] file pointer | |
opt | [out] pointer to the HMM option structure to hold the read values. |
Definition at line 249 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_type | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read HMM type of mixture tying.
fp | [in] file pointer | |
hmm | [out] pointer to HMM definition data to store the values. |
Definition at line 268 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_trans | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of transition matrix data for tr_num.
The transition matrixes are stored into hmm, and their pointers are also stored in tr_index for later data mapping operation from upper structure (state etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read transitions. |
Definition at line 291 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_var | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of variance vector for vr_num.
The variance vectors are stored into hmm, and their pointers are also stored in vr_index for later data mapping operation from upper structure (density etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read variance. |
Definition at line 340 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_dens | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of mixture densities for dens_num.
The mixture densities are stored into hmm, and their references to lower structure (variance etc.) are recovered from the id-to-pointer index. Their pointers are also stored in dens_index for later data mapping operation from upper structure (state etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read densities. |
Definition at line 384 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_streamweight | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of stream weights for streamweight_num.
The stream weights are stored into hmm, and their references to lower structure (variance etc.) are recovered from the id-to-pointer index. Their pointers are also stored in dens_index for later data mapping operation from upper structure (state etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read stream weights. |
Definition at line 433 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_tmix | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of mixture codebook for tm_num.
The mixture codebook data are stored into hmm, and their references to lower structure (mixtures etc.) are recovered from the id-to-pointer index. Their pointers are also stored in tm_index for later data mapping operation from upper structure (state etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read codebooks. |
Definition at line 477 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_pdf_sub | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm, | |||
HTK_HMM_PDF * | m | |||
) | [static] |
Read a mixture PDF.
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read codebooks. | |
m | [out] pointer where to store the input mixture PDF. |
Definition at line 532 of file read_binhmm.c.
Referenced by rd_mpdf(), and rd_state().
static boolean rd_mpdf | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of mixture pdf for mpdf_num.
The mixture pdfs are stored into hmm, and their references to lower structure (variance etc.) are recovered from the id-to-pointer index. Their pointers are also stored in mpdf_index for later data mapping operation from upper structure (state etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read data. |
Definition at line 576 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_state | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm, | |||
boolean | mpdf_macro | |||
) | [static] |
Read a sequence of state data for st_num.
The state data are stored into hmm, and their references to lower structure (mixture, codebook, etc.) are recovered from the id-to-pointer index. Their pointers are also stored in st_index for later data mapping operation from upper structure (models etc.).
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read states. | |
mpdf_macro | [in] TRUE if mixture pdfs are already read separatedly, or FALSE if they are all defined in-line |
Definition at line 621 of file read_binhmm.c.
Referenced by read_binhmm().
static boolean rd_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Read a sequence of HMM models.
The models are stored into hmm. Their references to lower structures (state, transition, etc.) are stored in schalar ID, and are recovered from the previously built id-to-pointer index. when reading the sub structures.
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read models. |
Definition at line 694 of file read_binhmm.c.
Referenced by read_binhmm().
boolean read_binhmm | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm, | |||
boolean | gzfile_p, | |||
Value * | para | |||
) |
Top function to read a binary HMM file from fp.
fp | [in] file pointer | |
hmm | [out] HMM definition structure to hold the read models. | |
gzfile_p | [in] TRUE if the file pointer points to a gzip file | |
para | [out] store acoustic parameters if embedded in binhmm (V2) |
Definition at line 745 of file read_binhmm.c.
Referenced by init_hmminfo().