Julius 4.2
関数 | 変数
libsent/src/hmminfo/cdhmm.c

音素列からコンテキスト依存音素モデルにアクセスするためのサブ関数群 [詳細]

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

ソースコードを見る。

関数

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.
HMM_Logicalget_right_context_HMM (HMM_Logical *base, char *rc_name, HTK_HMM_INFO *hmminfo)
 Search for right context HMM in logical HMM.
HMM_Logicalget_left_context_HMM (HMM_Logical *base, char *lc_name, HTK_HMM_INFO *hmminfo)
 Search for left context HMM in logical HMM.
char * center_name (char *hmmname, char *buf)
 Extract the center phone name and copy to the specified buffer.
char * leftcenter_name (char *hmmname, char *buf)
 Return "left - center" phone name, modifying buf.
char * rightcenter_name (char *hmmname, char *buf)
 Return "center + right" phone name, modifying buf.

変数

static char gbuf [MAX_HMMNAME_LEN]
 Work area for get_{right|left}_context_HMM.

説明

音素列からコンテキスト依存音素モデルにアクセスするためのサブ関数群

作者:
Akinobu LEE
日付:
Tue Feb 15 17:33:47 2005
Revision:
1.3

cdhmm.c で定義されています。


関数

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.

  • Example 1: "a" | "r" -> "a+r"
  • Example 2: "a" | "e-k+i" -> "a+k"
  • Example 3: "k-a" | "e" -> "k-a+e"
  • Example 4: "k-a+e" | "b" -> "k-a+b"
  • Example 5: "k-a+e" | "r-u+k" -> "k-a+u"
引数:
name[i/o] string of phone name to be the base name (will be modified)
rc[in] right context phone name

cdhmm.c46 行で定義されています。

参照元 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

cdhmm.c73 行で定義されています。

参照元 error_missing_left_triphone(), get_left_context_HMM(), outprob_style(), triphone_callback_left(), と triphone_callback_normal().

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
戻り値:
the pointer to the logical HMM, or NULL if not found.

cdhmm.c107 行で定義されています。

参照元 make_phseq(), next_word(), scan_word(), と wordgraph_assign().

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
戻り値:
the pointer to the logical HMM, or NULL if not found.

cdhmm.c129 行で定義されています。

参照元 make_phseq(), outprob_style(), scan_word(), と wordgraph_assign().

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
戻り値:
the argument buf.

cdhmm.c145 行で定義されています。

参照元 add_left_context(), add_right_context(), build_state2gs(), edit_distance(), hmm_add_pseudo_phones(), make_cdset(), make_hmm_basephone_list(), mark_word_edge(), msock_word_out1(), msock_word_out2(), new_str2phseq(), put_hypo_phoneme(), result_pass1(), と voca_load_wordlist_line().

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
戻り値:
the argument buf.

cdhmm.c176 行で定義されています。

参照元 hmm_add_pseudo_phones(), lcdset_lookup_by_hmmname(), make_cdset(), new_str2phseq(), と voca_load_wordlist_line().

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
戻り値:
the argument buf.

cdhmm.c198 行で定義されています。

参照元 hmm_add_pseudo_phones(), make_cdset(), new_str2phseq(), rcdset_lookup_by_hmmname(), と voca_load_wordlist_line().