#include <sent/stddefs.h>
#include <sent/htk_param.h>
#include <sent/htk_hmm.h>
#include <sent/mfcc.h>
Include dependency graph for write_binhmm.c:
Go to the source code of this file.
Functions | |
static void | wrt (FILE *fp, void *buf, size_t unitbyte, int unitnum) |
static void | wrt_str (FILE *fp, char *str) |
static void | wt_header (FILE *fp, boolean emp, boolean inv) |
static void | wt_para (FILE *fp, Value *para) |
static void | wt_opt (FILE *fp, HTK_HMM_Options *opt) |
static void | wt_type (FILE *fp, HTK_HMM_INFO *hmm) |
static int | qsort_tr_index (HTK_HMM_Trans **t1, HTK_HMM_Trans **t2) |
static void | wt_trans (FILE *fp, HTK_HMM_INFO *hmm) |
Write all transition matrix data. | |
static unsigned int | search_trid (HTK_HMM_Trans *t) |
static int | qsort_vr_index (HTK_HMM_Var **v1, HTK_HMM_Var **v2) |
static void | wt_var (FILE *fp, HTK_HMM_INFO *hmm) |
Write all variance data. | |
static unsigned int | search_vid (HTK_HMM_Var *v) |
static int | qsort_dens_index (HTK_HMM_Dens **d1, HTK_HMM_Dens **d2) |
static void | wt_dens (FILE *fp, HTK_HMM_INFO *hmm) |
Write all mixture density data. | |
static unsigned int | search_did (HTK_HMM_Dens *d) |
static void | tmix_list_callback (void *p) |
static int | qsort_tm_index (GCODEBOOK **tm1, GCODEBOOK **tm2) |
static void | wt_tmix (FILE *fp, HTK_HMM_INFO *hmm) |
Write all codebook data. | |
static unsigned int | search_tmid (GCODEBOOK *tm) |
static int | qsort_st_index (HTK_HMM_State **s1, HTK_HMM_State **s2) |
static void | wt_state (FILE *fp, HTK_HMM_INFO *hmm) |
Write all state data. | |
static unsigned int | search_stid (HTK_HMM_State *s) |
static void | wt_data (FILE *fp, HTK_HMM_INFO *hmm) |
Write all model data. | |
boolean | write_binhmm (FILE *fp, HTK_HMM_INFO *hmm, Value *para) |
Variables | |
static char * | binhmm_header_v2 = BINHMM_HEADER_V2 |
Header string for V2. | |
static HTK_HMM_Trans ** | tr_index |
Sorted data pointers for mapping from pointer to id. | |
static unsigned int | tr_num |
Length of above. | |
static HTK_HMM_Var ** | vr_index |
Sorted data pointers for mapping from pointer to id. | |
static unsigned int | vr_num |
Length of above. | |
static HTK_HMM_Dens ** | dens_index |
Sorted data pointers for mapping from pointer to id. | |
static unsigned int | dens_num |
Length of above. | |
static GCODEBOOK ** | tm_index |
Sorted data pointers for mapping from pointer to id. | |
static unsigned int | tm_num |
Length of above. | |
static unsigned int | tm_idx |
Current index. | |
static HTK_HMM_State ** | st_index |
Sorted data pointers for mapping from pointer to id. | |
static unsigned int | st_num |
Length of above. |
Definition in file write_binhmm.c.
static void wrt | ( | FILE * | fp, | |
void * | buf, | |||
size_t | unitbyte, | |||
int | unitnum | |||
) | [static] |
Binary write function with byte swap (assume file is BIG ENDIAN)
fp | [in] file pointer | |
buf | [in] data to write | |
unitbyte | [in] size of a unit in bytes | |
unitnum | [in] number of unit to write |
Definition at line 50 of file write_binhmm.c.
Referenced by ngram_write_bin(), write_header(), wrt_str(), wt_data(), wt_dens(), wt_opt(), wt_para(), wt_state(), wt_tmix(), wt_trans(), wt_type(), and wt_var().
static void wrt_str | ( | FILE * | fp, | |
char * | str | |||
) | [static] |
Write a string, teminating at NULL.
fp | [in] file pointer | |
str | [in] string to write |
Definition at line 75 of file write_binhmm.c.
Referenced by wt_data(), wt_dens(), wt_header(), wt_state(), wt_tmix(), wt_trans(), and wt_var().
Write header string as binary HMM file (ver. 2)
fp | [in] file pointer |
Definition at line 95 of file write_binhmm.c.
Referenced by write_binhmm().
static void wt_para | ( | FILE * | fp, | |
Value * | para | |||
) | [static] |
Write acoustic analysis configration parameters into header of binary HMM.
fp | [in] file pointer | |
para | [in] acoustic analysis configration parameters |
Definition at line 122 of file write_binhmm.c.
Referenced by write_binhmm().
static void wt_opt | ( | FILE * | fp, | |
HTK_HMM_Options * | opt | |||
) | [static] |
Write HMM option specifications
fp | [in] file pointer | |
opt | [out] pointer to the HMM option structure that holds the values. |
Definition at line 157 of file write_binhmm.c.
Referenced by write_binhmm().
static void wt_type | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write HMM type of mixture tying.
fp | [in] file pointer | |
hmm | [out] pointer to the writing HMM definition data |
Definition at line 174 of file write_binhmm.c.
Referenced by write_binhmm().
static int qsort_tr_index | ( | HTK_HMM_Trans ** | t1, | |
HTK_HMM_Trans ** | t2 | |||
) | [static] |
qsort callback function to sort transition pointers by their address for indexing.
t1 | [in] data 1 | |
t2 | [in] data 2 |
Definition at line 195 of file write_binhmm.c.
Referenced by wt_trans().
static void wt_trans | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all transition matrix data.
The pointers of all transition matrixes are first gathered, sorted by the address. Then the transition matrix data are written by the sorted order. The index will be used later to convert any pointer reference to a transition matrix into scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 214 of file write_binhmm.c.
Referenced by write_binhmm().
static unsigned int search_trid | ( | HTK_HMM_Trans * | t | ) | [static] |
Binary search function to convert transition matrix pointer to a scholar ID.
t | [in] pointer to a transition matrix |
Definition at line 248 of file write_binhmm.c.
Referenced by wt_data().
static int qsort_vr_index | ( | HTK_HMM_Var ** | v1, | |
HTK_HMM_Var ** | v2 | |||
) | [static] |
qsort callback function to sort variance pointers by their address for indexing.
v1 | [in] data 1 | |
v2 | [in] data 2 |
Definition at line 280 of file write_binhmm.c.
Referenced by wt_var().
static void wt_var | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all variance data.
The pointers of all variance vectors are first gathered, sorted by the address. Then the variance vectors are written by the sorted order. The index will be used later to convert any pointer reference to a variance vector into scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 299 of file write_binhmm.c.
Referenced by write_binhmm().
static unsigned int search_vid | ( | HTK_HMM_Var * | v | ) | [static] |
Binary search function to convert variance pointer to a scholar ID.
v | [in] pointer to a variance data |
Definition at line 329 of file write_binhmm.c.
Referenced by wt_dens().
static int qsort_dens_index | ( | HTK_HMM_Dens ** | d1, | |
HTK_HMM_Dens ** | d2 | |||
) | [static] |
qsort callback function to sort density pointers by their address for indexing.
d1 | [in] data 1 | |
d2 | [in] data 2 |
Definition at line 361 of file write_binhmm.c.
Referenced by wt_dens().
static void wt_dens | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all mixture density data.
The pointers of all mixture densities are first gathered, sorted by the address. Then the densities are written by the sorted order. The pointers to the lower structure (variance etc.) in the data are written in a corresponding scholar id. The pointer index of this data will be used later to convert any pointer reference to a density data into scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 382 of file write_binhmm.c.
Referenced by write_binhmm().
static unsigned int search_did | ( | HTK_HMM_Dens * | d | ) | [static] |
Binary search function to convert density pointer to a scholar ID.
d | [in] pointer to a mixture density |
Definition at line 417 of file write_binhmm.c.
Referenced by wt_state(), and wt_tmix().
static void tmix_list_callback | ( | void * | p | ) | [static] |
Traverse callback function to store pointers in tm_index.
p | [in] pointer to the codebook data |
Definition at line 446 of file write_binhmm.c.
Referenced by wt_tmix().
qsort callback function to sort density pointers by their address for indexing.
tm1 | [in] data 1 | |
tm2 | [in] data 2 |
Definition at line 463 of file write_binhmm.c.
Referenced by wt_tmix().
static void wt_tmix | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all codebook data.
The pointers of all codebook densities are first gathered, sorted by the address. Then the densities are written by the sorted order. The pointers to the lower structure (mixture etc.) in the data are written by the corresponding scholar id. The pointer index of this data will be used later to convert any pointer reference to a codebook into scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 484 of file write_binhmm.c.
Referenced by write_binhmm().
static unsigned int search_tmid | ( | GCODEBOOK * | tm | ) | [static] |
Binary search function to convert codebook pointer to a scholar ID.
tm | [in] pointer to a codebook |
Definition at line 524 of file write_binhmm.c.
Referenced by wt_state().
static int qsort_st_index | ( | HTK_HMM_State ** | s1, | |
HTK_HMM_State ** | s2 | |||
) | [static] |
qsort callback function to sort state pointers by their address for indexing.
s1 | [in] data 1 | |
s2 | [in] data 2 |
Definition at line 556 of file write_binhmm.c.
Referenced by wt_state().
static void wt_state | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all state data.
The pointers of all states are first gathered, sorted by the address. Then the state informations are written by the sorted order. The pointers to the lower structure (mixture etc.) in the data are written in a corresponding scholar id. The pointer index of this data will be used later to convert any pointer reference to a state data into scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 577 of file write_binhmm.c.
Referenced by write_binhmm().
static unsigned int search_stid | ( | HTK_HMM_State * | s | ) | [static] |
Binary search function to convert state pointer to a scholar ID.
s | [in] pointer to a state |
Definition at line 645 of file write_binhmm.c.
Referenced by wt_data().
static void wt_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) | [static] |
Write all model data.
The data of all models are written. The order is not important at this top level, since there are no reference to this data. The pointers to the lower structure (states, transitions, etc.) in the data are written by the corresponding scholar id.
fp | [in] file pointer | |
hmm | [in] writing HMM definition data |
Definition at line 675 of file write_binhmm.c.
Referenced by write_binhmm().
boolean write_binhmm | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm, | |||
Value * | para | |||
) |
Top function to write HMM definition data to a binary file.
fp | [in] file pointer | |
hmm | [in] HMM definition structure to be written | |
para | [in] acoustic analysis parameter, or NULL if not available |
Definition at line 717 of file write_binhmm.c.