#include <sent/stddefs.h>
#include <sent/htk_defs.h>
#include <sent/ptree.h>
#include <sent/mfcc.h>
#include <sent/htk_param.h>
htk_hmm.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
データ構造 | |
struct | HTK_HMM_StreamInfo |
Stream information (although current Julius supports only single stream) [詳細] | |
struct | HTK_HMM_Options |
HMM Option [詳細] | |
struct | _HTK_HMM_trans |
HMM transition table [詳細] | |
struct | _HTK_HMM_variance |
HMM variance data [詳細] | |
struct | _HTK_HMM_dens |
HMM Gaussian density (or mixture) data [詳細] | |
struct | _HTK_HMM_state |
HMM state data [詳細] | |
struct | _HTK_HMM_data |
Top HMM model, corresponds to "~h" macro in hmmdefs [詳細] | |
struct | GCODEBOOK |
Gaussian mixture codebook in tied-mixture model [詳細] | |
struct | GS_SET |
Set of HMM states for Gaussian Mixture Selection [詳細] | |
struct | CD_State_Set |
Context-dependent state set, equivalent to HTK_HMM_State, part of pseudo phone [詳細] | |
struct | _cd_set |
Context-dependent HMM set (called "pseudo") for a logical context [詳細] | |
struct | HMM_CDSET_INFO |
Top structure to hold all the HMM sets [詳細] | |
struct | _HMM_logical |
Logical HMM to map logical names to physical/pseudo HMM [詳細] | |
struct | BASEPHONE |
Basephone information extracted from hmminfo [詳細] | |
struct | HMM_basephone |
List of all basephone in hmminfo [詳細] | |
struct | HTK_HMM_INFO |
Top HMM structure that holds all the HTK HMM definition [詳細] | |
マクロ定義 | |
#define | currentis(A) (!strcasecmp(A, rdhmmdef_token)) |
Macro to check whether the next token is "A" | |
#define | NoTokErr(S) if (!rdhmmdef_token) rderr(S) |
Macro to jump to error if no token left | |
#define | HMMDEF_DELM " \t\n<>" |
Delimiter string for parsing HMM definition file | |
#define | MAX_STATE_NUM 65535 |
Possible maximum value of state ID (in unsigned short) | |
#define | HMM_RC_DLIM "+" |
Delimiter strings/characters to generate logical triphone names Right context delimiter in string | |
#define | HMM_LC_DLIM "-" |
Left context delimiter in string | |
#define | HMM_RC_DLIM_C '+' |
Right context delimiter in character | |
#define | HMM_LC_DLIM_C '-' |
Left context delimiter in character | |
#define | SPMODEL_NAME_DEFAULT "sp" |
Default logical name of short pause model | |
#define | MAX_HMMNAME_LEN 128 |
Length limit of HMM name (including ones generated in Julius) | |
型定義 | |
typedef _HTK_HMM_trans | HTK_HMM_Trans |
HMM transition table | |
typedef _HTK_HMM_variance | HTK_HMM_Var |
HMM variance data | |
typedef _HTK_HMM_dens | HTK_HMM_Dens |
HMM Gaussian density (or mixture) data | |
typedef _HTK_HMM_state | HTK_HMM_State |
HMM state data | |
typedef _HTK_HMM_data | HTK_HMM_Data |
Top HMM model, corresponds to "~h" macro in hmmdefs | |
typedef _cd_set | CD_Set |
Context-dependent HMM set (called "pseudo") for a logical context | |
typedef _HMM_logical | HMM_Logical |
Logical HMM to map logical names to physical/pseudo HMM | |
列挙型 | |
enum | iwcd_type { IWCD_MAX, IWCD_AVG, IWCD_NBEST } |
Specify method of calculating approximated acoustic score at inter-word context pseudo phones on word edge [詳細] | |
関数 | |
void | htk_hmm_set_pause_model (HTK_HMM_INFO *hmminfo, char *spmodel_name) |
void | rderr (char *str) |
char * | read_token (FILE *fp) |
boolean | rdhmmdef (FILE *, HTK_HMM_INFO *) |
Main top routine to read in HTK HMM definition file. | |
void | htk_hmm_inverse_variances (HTK_HMM_INFO *hmm) |
void | set_global_opt (FILE *fp, HTK_HMM_INFO *hmm) |
char * | get_cov_str (short covtype) |
char * | get_dur_str (short durtype) |
void | trans_add (HTK_HMM_INFO *hmm, HTK_HMM_Trans *new) |
HTK_HMM_Trans * | get_trans_data (FILE *, HTK_HMM_INFO *) |
Return a pointer to the data located at the current point. | |
void | def_trans_macro (char *, FILE *, HTK_HMM_INFO *) |
HTK_HMM_State * | get_state_data (FILE *, HTK_HMM_INFO *) |
Return a pointer to the data located at the current point. | |
void | def_state_macro (char *, FILE *, HTK_HMM_INFO *) |
HTK_HMM_State * | state_lookup (HTK_HMM_INFO *hmm, char *keyname) |
void | state_add (HTK_HMM_INFO *hmm, HTK_HMM_State *new) |
HTK_HMM_Dens * | get_dens_data (FILE *, HTK_HMM_INFO *) |
Return a pointer to the data located at the current point. | |
void | def_dens_macro (char *, FILE *, HTK_HMM_INFO *) |
HTK_HMM_Dens * | dens_lookup (HTK_HMM_INFO *hmm, char *keyname) |
void | dens_add (HTK_HMM_INFO *hmm, HTK_HMM_Dens *new) |
HTK_HMM_Var * | get_var_data (FILE *, HTK_HMM_INFO *) |
Return a pointer to the data located at the current point. | |
void | def_var_macro (char *, FILE *, HTK_HMM_INFO *) |
void | var_add (HTK_HMM_INFO *hmm, HTK_HMM_Var *new) |
void | def_HMM (char *, FILE *, HTK_HMM_INFO *) |
HTK_HMM_Data * | htk_hmmdata_new (HTK_HMM_INFO *) |
void | htk_hmmdata_add (HTK_HMM_INFO *hmm, HTK_HMM_Data *new) |
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. | |
void | codebook_add (HTK_HMM_INFO *hmm, GCODEBOOK *new) |
void | def_regtree_macro (char *name, FILE *fp, HTK_HMM_INFO *hmm) |
boolean | rdhmmlist (FILE *fp, HTK_HMM_INFO *hmminfo) |
void | put_htk_trans (HTK_HMM_Trans *t) |
void | put_htk_var (HTK_HMM_Var *v) |
void | put_htk_dens (HTK_HMM_Dens *d) |
void | put_htk_state (HTK_HMM_State *s) |
void | put_htk_hmm (HTK_HMM_Data *h) |
void | put_logical_hmm (HMM_Logical *l) |
void | print_hmmdef_info (HTK_HMM_INFO *) |
HTK_HMM_INFO * | hmminfo_new () |
boolean | hmminfo_free (HTK_HMM_INFO *) |
void | init_hmminfo (HTK_HMM_INFO *hmminfo, char *filename, char *mapfile, Value *para) |
Load HTK HMM definition file and HMMList file, and setup phone HMM information. | |
HTK_HMM_Data * | htk_hmmdata_lookup_physical (HTK_HMM_INFO *, char *) |
HMM_Logical * | htk_hmmdata_lookup_logical (HTK_HMM_INFO *, char *) |
void | hmm_add_physical_to_logical (HTK_HMM_INFO *) |
Add all physical HMM to logical HMM. | |
void | hmm_add_pseudo_phones (HTK_HMM_INFO *hmminfo) |
void | make_hmm_basephone_list (HTK_HMM_INFO *hmminfo) |
boolean | check_hmm_limit (HTK_HMM_Data *dt) |
boolean | check_all_hmm_limit (HTK_HMM_INFO *hmm) |
boolean | check_hmm_options (HTK_HMM_INFO *hmm) |
boolean | guess_if_cd_hmm (HTK_HMM_INFO *hmm) |
HMM_Logical * | get_right_context_HMM (HMM_Logical *base, char *rc_name, HTK_HMM_INFO *hmminfo) |
Search for right context HMM in logical HMM | |
HMM_Logical * | get_left_context_HMM (HMM_Logical *base, char *lc_name, HTK_HMM_INFO *hmminfo) |
Search for left context HMM in logical HMM | |
void | add_right_context (char name[], char *rc) |
Generate context-dependent phone name from base phone name and its right context phone name. | |
void | add_left_context (char name[], char *lc) |
Generate context-dependent phone name from base phone name and its left context phone name. | |
char * | center_name (char *hmmname, char *buf) |
char * | leftcenter_name (char *hmmname, char *buf) |
char * | rightcenter_name (char *hmmname, char *buf) |
boolean | regist_cdset (APATNODE **root, HTK_HMM_Data *d, char *cdname) |
boolean | make_cdset (HTK_HMM_INFO *hmminfo) |
void | put_all_cdinfo (HTK_HMM_INFO *hmminfo) |
void | free_cdset (APATNODE **root) |
CD_Set * | cdset_lookup (HTK_HMM_INFO *hmminfo, char *cdstr) |
CD_Set * | lcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname) |
CD_Set * | rcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname) |
int | hmm_logical_state_num (HMM_Logical *lg) |
HTK_HMM_Trans * | hmm_logical_trans (HMM_Logical *lg) |
boolean | check_param_coherence (HTK_HMM_INFO *hmm, HTK_Param *pinfo) |
boolean | check_param_basetype (HTK_HMM_INFO *hmm, HTK_Param *pinfo) |
HTK_Param * | new_param_check_and_adjust (HTK_HMM_INFO *hmm, HTK_Param *pinfo, boolean vflag) |
Top function to adjust parameter. | |
boolean | write_binhmm (FILE *fp, HTK_HMM_INFO *hmm, Value *para) |
boolean | read_binhmm (FILE *fp, HTK_HMM_INFO *hmm, boolean gzfile_p, Value *para) |
htk_hmm.h で定義されています。
void htk_hmm_set_pause_model | ( | HTK_HMM_INFO * | hmminfo, | |
char * | spmodel_name | |||
) |
Set up pause model.
hmminfo | [i/o] HMM definition data | |
spmodel_name | [in] name string of short pause model |
init_phmm.c の 200 行で定義されています。
参照元 initialize_HMM().
void rderr | ( | char * | str | ) |
Output error message, with current reading status.
str | [in] error string |
rdhmmdef.c の 60 行で定義されています。
参照元 codebook_add()・def_regtree_macro()・dens_add()・dens_read()・get_dens_data()・get_opttype_str()・get_state_data()・get_trans_data()・get_var_data()・htk_hmmdata_add()・htk_hmmdata_read()・rdhmmdef()・read_global_opt()・state_add()・tmix_read()・trans_add()・trans_read()・var_add()・var_read().
char* read_token | ( | FILE * | fp | ) |
Read next token and ste it to rdhmmdef_token.
fp | [in] file pointer |
rdhmmdef.c の 77 行で定義されています。
参照元 dens_read()・get_dens_data()・get_state_data()・get_trans_data()・get_var_data()・htk_hmmdata_read()・rdhmmdef()・read_global_opt()・regtree_read()・state_read()・tmix_read()・trans_read()・var_read().
boolean rdhmmdef | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Main top routine to read in HTK HMM definition file.
A HTK HMM definition file will be read from fp. After reading, the parameter type is checked and calculate some statistics.
fp | [in] file pointer | |
hmm | [out] pointer to a HMM definition structure to store data. |
rdhmmdef.c の 153 行で定義されています。
参照元 init_hmminfo().
void htk_hmm_inverse_variances | ( | HTK_HMM_INFO * | hmm | ) |
Invert all the variance values.
hmm | [i/o] HMM definition data to modify. |
rdhmmdef.c の 127 行で定義されています。
void set_global_opt | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Set global options starting at the current token to HMM definition data.
fp | [in] file pointer | |
hmm | [out] HMM definition data to store the global options |
rdhmmdef_options.c の 133 行で定義されています。
参照元 rdhmmdef().
char* get_cov_str | ( | short | covtype | ) |
Get covariance option name string from its type code.
covtype | [in] type code to search |
rdhmmdef_options.c の 168 行で定義されています。
参照元 print_hmmdef_info().
char* get_dur_str | ( | short | durtype | ) |
Get duration option name string from its type code.
durtype | [in] type code to search |
rdhmmdef_options.c の 181 行で定義されています。
参照元 print_hmmdef_info().
void trans_add | ( | HTK_HMM_INFO * | hmm, | |
HTK_HMM_Trans * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_trans.c の 60 行で定義されています。
HTK_HMM_Trans* get_trans_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Return a pointer to the data located at the current point.
If the current point is a macro reference, the pointer to the already defined data will be searched and returned. Otherwise, the definition of the data will be read from the current point and pointer to the newly allocated data will be returned.
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_trans.c の 172 行で定義されています。
参照元 htk_hmmdata_read().
void def_trans_macro | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Read a new data and store it as a macro.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_trans.c の 207 行で定義されています。
参照元 rdhmmdef().
HTK_HMM_State* get_state_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Return a pointer to the data located at the current point.
If the current point is a macro reference, the pointer to the already defined data will be searched and returned. Otherwise, the definition of the data will be read from the current point and pointer to the newly allocated data will be returned.
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_state.c の 200 行で定義されています。
参照元 htk_hmmdata_read().
void def_state_macro | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Read a new data and store it as a macro.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_state.c の 237 行で定義されています。
参照元 rdhmmdef().
HTK_HMM_State* state_lookup | ( | HTK_HMM_INFO * | hmm, | |
char * | keyname | |||
) |
Look up a data macro by the name.
hmm | [in] HMM definition data | |
keyname | [in] macro name to find |
rdhmmdef_state.c の 92 行で定義されています。
参照元 get_state_data().
void state_add | ( | HTK_HMM_INFO * | hmm, | |
HTK_HMM_State * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_state.c の 58 行で定義されています。
HTK_HMM_Dens* get_dens_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Return a pointer to the data located at the current point.
If the current point is a macro reference, the pointer to the already defined data will be searched and returned. Otherwise, the definition of the data will be read from the current point and pointer to the newly allocated data will be returned.
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_dens.c の 199 行で定義されています。
参照元 state_read().
void def_dens_macro | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Read a new data and store it as a macro.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_dens.c の 233 行で定義されています。
参照元 rdhmmdef().
HTK_HMM_Dens* dens_lookup | ( | HTK_HMM_INFO * | hmm, | |
char * | keyname | |||
) |
Look up a data macro by the name.
hmm | [in] HMM definition data | |
keyname | [in] macro name to find |
rdhmmdef_dens.c の 112 行で定義されています。
void dens_add | ( | HTK_HMM_INFO * | hmm, | |
HTK_HMM_Dens * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_dens.c の 79 行で定義されています。
HTK_HMM_Var* get_var_data | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmm | |||
) |
Return a pointer to the data located at the current point.
If the current point is a macro reference, the pointer to the already defined data will be searched and returned. Otherwise, the definition of the data will be read from the current point and pointer to the newly allocated data will be returned.
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_var.c の 162 行で定義されています。
参照元 dens_read().
void def_var_macro | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Read a new data and store it as a macro.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_var.c の 197 行で定義されています。
参照元 rdhmmdef().
void var_add | ( | HTK_HMM_INFO * | hmm, | |
HTK_HMM_Var * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_var.c の 58 行で定義されています。
void def_HMM | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Read a new data and store it as a macro.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [i/o] HMM definition data |
rdhmmdef_data.c の 159 行で定義されています。
参照元 rdhmmdef().
HTK_HMM_Data* htk_hmmdata_new | ( | HTK_HMM_INFO * | hmminfo | ) |
Allocate a new data and return it.
rdhmmdef_data.c の 35 行で定義されています。
参照元 htk_hmmdata_read().
void htk_hmmdata_add | ( | HTK_HMM_INFO * | hmm, | |
HTK_HMM_Data * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_data.c の 57 行で定義されています。
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.
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. |
rdhmmdef_tiedmix.c の 136 行で定義されています。
参照元 state_read().
void codebook_add | ( | HTK_HMM_INFO * | hmm, | |
GCODEBOOK * | new | |||
) |
Add a new data to the global structure.
hmm | [i/o] HMM definition data to store it | |
new | [in] new data to be added |
rdhmmdef_tiedmix.c の 58 行で定義されています。
参照元 rd_tmix()・tmix_read().
void def_regtree_macro | ( | char * | name, | |
FILE * | fp, | |||
HTK_HMM_INFO * | hmm | |||
) |
Skip a regression tree data or its macro reference.
name | [in] macro name | |
fp | [in] file pointer | |
hmm | [in] HMM definition data |
rdhmmdef_regtree.c の 71 行で定義されています。
参照元 rdhmmdef().
boolean rdhmmlist | ( | FILE * | fp, | |
HTK_HMM_INFO * | hmminfo | |||
) |
Read a HMMList file and build initial logical triphone list.
fp | [in] file pointer | |
hmminfo | [i/o] HMM definition data to store the logical phone list |
rdhmmlist.c の 68 行で定義されています。
参照元 init_hmminfo().
void put_htk_trans | ( | HTK_HMM_Trans * | t | ) |
Output transition matrix.
t | [in] pointer to a transion matrix |
put_htkdata_info.c の 38 行で定義されています。
void put_htk_var | ( | HTK_HMM_Var * | v | ) |
Output variance vector (diagonal).
v | [in] pointer to a variance data |
put_htkdata_info.c の 60 行で定義されています。
参照元 put_htk_dens().
void put_htk_dens | ( | HTK_HMM_Dens * | d | ) |
Output a density information, mean and variance.
d | [in] pointer to a density data |
put_htkdata_info.c の 81 行で定義されています。
参照元 put_htk_state().
void put_htk_state | ( | HTK_HMM_State * | s | ) |
Output mixture component of a state.
s | [in] pointer to HMM state |
put_htkdata_info.c の 104 行で定義されています。
void put_htk_hmm | ( | HTK_HMM_Data * | h | ) |
Output HMM model, number of states and information for each state.
h | [in] pointer to HMM model |
put_htkdata_info.c の 125 行で定義されています。
void put_logical_hmm | ( | HMM_Logical * | logical | ) |
Output logical HMM data and its mapping status.
logical | [in] pointer to a logical HMM |
put_htkdata_info.c の 144 行で定義されています。
参照元 print_hmminfo().
void print_hmmdef_info | ( | HTK_HMM_INFO * | hmminfo | ) |
Output total statistic informations of the HMM definition data.
hmminfo | [in] HMM definition data. |
put_htkdata_info.c の 300 行で定義されています。
参照元 print_info().
HTK_HMM_INFO* hmminfo_new | ( | ) |
Allocate memory for a new HMM definition data.
init_phmm.c の 33 行で定義されています。
boolean hmminfo_free | ( | HTK_HMM_INFO * | hmm | ) |
Free memory of an HMM
hmm | [i/o] HMM definition data |
init_phmm.c の 86 行で定義されています。
void init_hmminfo | ( | HTK_HMM_INFO * | hmminfo, | |
char * | hmmfilename, | |||
char * | namemapfile, | |||
Value * | para | |||
) |
Load HTK HMM definition file and HMMList file, and setup phone HMM information.
First try ascii format, then try binary format.
hmminfo | [out] pointer to store all the HMM definition data. | |
hmmfilename | [in] file name of HTK HMM definition file, NULL if not. | |
namemapfile | [in] file name of HMMList mapping file. | |
para | [out] store acoustic analysis condition parameters if exist in hmmfilename. |
init_phmm.c の 122 行で定義されています。
HTK_HMM_Data* htk_hmmdata_lookup_physical | ( | HTK_HMM_INFO * | hmminfo, | |
char * | keyname | |||
) |
Look up physical (defined in HTK HMM definition file) HMM by its name.
hmminfo | [in] HMM definition data | |
keyname | [in] key string of HMM name |
hmm_lookup.c の 62 行で定義されています。
参照元 rdhmmlist().
HMM_Logical* htk_hmmdata_lookup_logical | ( | HTK_HMM_INFO * | hmminfo, | |
char * | keyname | |||
) |
Look up logical HMM by its name.
hmminfo | [in] HMM definition data | |
keyname | [in] key string of HMM name |
hmm_lookup.c の 82 行で定義されています。
参照元 get_left_context_HMM()・get_right_context_HMM()・htk_hmm_set_pause_model()・print_hmminfo()・triphone_callback_normal()・triphone_callback_right()・voca_load_htkdict_line()・voca_mono2tri().
void hmm_add_physical_to_logical | ( | HTK_HMM_INFO * | hmminfo | ) |
Add all physical HMM to logical HMM.
This function should be called only if HMMList is not specified. Julius assumes all the triphones should be explicitly mapped using HMMList file.
hmminfo | [in] HMM definition data. |
hmm_lookup.c の 119 行で定義されています。
参照元 init_hmminfo().
void hmm_add_pseudo_phones | ( | HTK_HMM_INFO * | hmminfo | ) |
Update logical HMM list by adding all the possible pseudo monophone and biphone to the list.
hmminfo | [in] HMM definition data. |
hmm_lookup.c の 209 行で定義されています。
参照元 initialize_HMM().
void make_hmm_basephone_list | ( | HTK_HMM_INFO * | hmminfo | ) |
Build a list of base phones by gathering center phones of the defined HMM.
hmminfo | [i/o] HMM definition data |
chkhmmlist.c の 47 行で定義されています。
参照元 init_hmminfo().
boolean check_hmm_limit | ( | HTK_HMM_Data * | dt | ) |
Check if the transition matrix conforms the ristrictions of Julius.
dt | [in] HTK HMM model to check. |
check_hmm_restriction.c の 209 行で定義されています。
boolean check_all_hmm_limit | ( | HTK_HMM_INFO * | hmminfo | ) |
Check all the HMM definitions in a HTK HMM definition data.
hmminfo | [in] HTK HMM data to check. |
check_hmm_restriction.c の 242 行で定義されています。
参照元 rdhmmdef().
boolean check_hmm_options | ( | HTK_HMM_INFO * | hmm | ) |
Check if the required parameter type in this HMM can be handled by Julius.
hmm | [in] HMM definition data |
check_hmmtype.c の 37 行で定義されています。
参照元 rdhmmdef().
boolean guess_if_cd_hmm | ( | HTK_HMM_INFO * | hmminfo | ) |
Guess whether the given HMM definition contains context-dependent modeling, just by the naming rule.
hmminfo | [in] target HMM definition |
guess_cdHMM.c の 41 行で定義されています。
参照元 init_hmminfo().
HMM_Logical* get_right_context_HMM | ( | HMM_Logical * | base, | |
char * | rc_name, | |||
HTK_HMM_INFO * | hmminfo | |||
) |
Search for right context HMM in logical HMM
The name of a new right context HMM, given base phone HMM and a right context phone string, will be generated, and search it in the list of logical HMM. If found, return the pointer to the logical HMM.
base | [in] base phone HMM | |
rc_name | [in] right context phone name (allow context-dependent name) | |
hmminfo | [in] HTK HMM definition data |
HMM_Logical* get_left_context_HMM | ( | HMM_Logical * | base, | |
char * | lc_name, | |||
HTK_HMM_INFO * | hmminfo | |||
) |
Search for left context HMM in logical HMM
The name of a new left context HMM, given base phone HMM and a left context phone string, will be generated, and search it in the list of logical HMM. If found, return the pointer to the logical HMM.
base | [in] base phone HMM | |
lc_name | [in] left context phone name (allow context-dependent name) | |
hmminfo | [in] HTK HMM definition data |
void add_right_context | ( | char | name[], | |
char * | rc | |||
) |
Generate context-dependent phone name from base phone name and its right context phone name.
The center phone name of the right context name will be appended to the base phone name. If the phone name already has right context, it will be renamed to the new one.
name | [i/o] string of phone name to be the base name (will be modified) | |
rc | [in] right context phone name |
参照元 error_missing_right_triphone()・get_right_context_HMM()・triphone_callback_normal()・triphone_callback_right().
void add_left_context | ( | char | name[], | |
char * | lc | |||
) |
Generate context-dependent phone name from base phone name and its left context phone name.
The center phone name of the left context name will be appended to the base phone name. If the phone name already has left context, it will be renamed to the new one.
name | [i/o] string of phone name to be the base name (will be modified) | |
lc | [in] left context phone name |
参照元 error_missing_left_triphone()・get_left_context_HMM()・outprob_style()・triphone_callback_left()・triphone_callback_normal().
char* center_name | ( | char * | hmmname, | |
char * | buf | |||
) |
Extract the center phone name and copy to the specified buffer.
hmmname | [in] string from which the center phone name will be extracted | |
buf | [out] the extracted phone name will be written here |
参照元 add_left_context()・add_right_context()・hmm_add_pseudo_phones()・make_cdset()・make_hmm_basephone_list()・mark_word_edge()・msock_word_out1()・msock_word_out2()・put_hypo_phoneme()・ttyout_pass1_final().
char* leftcenter_name | ( | char * | hmmname, | |
char * | buf | |||
) |
Return "left - center" phone name, modifying buf.
hmmname | [in] context-dependent phone name string | |
buf | [out] resulting phone name |
参照元 hmm_add_pseudo_phones()・lcdset_lookup_by_hmmname()・make_cdset().
char* rightcenter_name | ( | char * | hmmname, | |
char * | buf | |||
) |
Return "center + right" phone name, modifying buf.
hmmname | [in] context-dependent phone name string | |
buf | [out] resulting phone name |
参照元 hmm_add_pseudo_phones()・make_cdset()・rcdset_lookup_by_hmmname().
boolean regist_cdset | ( | APATNODE ** | root, | |
HTK_HMM_Data * | d, | |||
char * | cdname | |||
) |
Register a physical HMM as a member of a pseudo phone set.
root | [i/o] root node of HMM search index node. | |
d | [in] a physical defined HMM to be added. | |
cdname | [in] name of the pseudo phone set. |
参照元 make_cdset().
boolean make_cdset | ( | HTK_HMM_INFO * | hmminfo | ) |
Construct the whole pseudo HMM information, and also add them to the logical Triphone tree.
hmminfo | [i/o] HMM definition data. The generated data will also be stored within this. |
参照元 initialize_HMM().
void put_all_cdinfo | ( | HTK_HMM_INFO * | hmminfo | ) |
void free_cdset | ( | APATNODE ** | root | ) |
Remove all the registered category-indexed pseudo state sets. This function will be called when a grammar is changed to re-build the state sets.
root | [i/o] pointer to hold the root index pointer |
参照元 hmminfo_free().
CD_Set* cdset_lookup | ( | HTK_HMM_INFO * | hmminfo, | |
char * | cdstr | |||
) |
Look up for a pseudo phone with the name, and return the content.
hmminfo | [in] HMM information to search for. | |
cdstr | [in] string of pseudo phone name to search. |
参照元 hmm_add_pseudo_phones_sub()・lcdset_lookup_by_hmmname()・rcdset_lookup_by_hmmname().
CD_Set* lcdset_lookup_by_hmmname | ( | HTK_HMM_INFO * | hmminfo, | |
char * | hmmname | |||
) |
Look up for a pseudo phone by the "left - center" name of the given phone name.
hmminfo | [in] HMM information to search for. | |
hmmname | [in] string of the phone name. |
CD_Set* rcdset_lookup_by_hmmname | ( | HTK_HMM_INFO * | hmminfo, | |
char * | hmmname | |||
) |
int hmm_logical_state_num | ( | HMM_Logical * | lg | ) |
Generic function to get the number of states in a logical HMM.
lg | [in] logical HMM |
hmm_lookup.c の 245 行で定義されています。
参照元 do_align()・make_phseq()・new_make_word_hmm_with_lm()・print_voca_info()・scan_word()・set_maxwn()・totalstatelen()・wchmm_add_word()・wchmm_duplicate_leafnode()・wchmm_duplicate_state()・wchmm_link_subword().
HTK_HMM_Trans* hmm_logical_trans | ( | HMM_Logical * | lg | ) |
Generic function to get transition matrix of a logical HMM.
lg | [in] logical HMM |
hmm_lookup.c の 261 行で定義されています。
参照元 wchmm_calc_wordend_arc()・wchmm_duplicate_leafnode()・wchmm_link_subword().
boolean check_param_coherence | ( | HTK_HMM_INFO * | hmm, | |
HTK_Param * | pinfo | |||
) |
Check if an input parameter type exactly matches that of HMM.
hmm | [in] HMM definition data | |
pinfo | [in] input parameter |
check_hmmtype.c の 66 行で定義されています。
boolean check_param_basetype | ( | HTK_HMM_INFO * | hmm, | |
HTK_Param * | pinfo | |||
) |
Check if the base type of input parameter matches that of HMM.
hmm | [in] HMM definition data | |
pinfo | [in] input parameter |
check_hmmtype.c の 104 行で定義されています。
HTK_Param* new_param_check_and_adjust | ( | HTK_HMM_INFO * | hmminfo, | |
HTK_Param * | param, | |||
boolean | vflag | |||
) |
Top function to adjust parameter.
It compares the types for the given parameter param and HMM definition hmminfo. If type is not the same, adjustment will be tried.
If adjustment is performed, the input param will be freed and the newly allocated adjusted parameter will be returned. Otherwise, the original param will be returned.
hmminfo | [in] HTK HMM definition | |
param | [i/o] input parameter, will be freed if adjustment was performed in this function | |
vflag | [in] if TRUE, output verbose messages |
paramselect.c の 429 行で定義されています。
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 |
write_binhmm.c の 717 行で定義されています。
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) |
read_binhmm.c の 540 行で定義されています。
参照元 init_hmminfo().