#include <sent/stddefs.h>
#include <sent/htk_param.h>
#include <sent/htk_hmm.h>
cdset.cのインクルード依存関係図
マクロ定義 | |
#define | CD_STATE_SET_STEP 10 |
CD_State_Set memory allocation step. | |
関数 | |
static void | cdset_init (HTK_HMM_INFO *hmminfo) |
static CD_Set * | cdset_new () |
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) |
static void | put_cdset (void *ptr) |
void | put_all_cdinfo (HTK_HMM_INFO *hmminfo) |
boolean | regist_cdset (APATNODE **root, HTK_HMM_Data *d, char *cdname) |
boolean | remove_cdset (HTK_HMM_INFO *hmminfo, char *cdname) |
boolean | make_cdset (HTK_HMM_INFO *hmminfo) |
Julius は HMM 定義ファイルおよびHMMリストを読み込んだあと, まず全ての許され得るモノフォンおよびバイフォンのリストを生成します. そしてれぞれについて,それを共通のコンテキストとする トライフォンのリストを作成し,そのリスト中のトライフォンの各状態を マージしたもの (CD_State_Set) を要素とする構造体 CD_Set を HTKのHMM定義とは別に新たに生成します.
例えば,"a-k" という名前の pseudo HMM は,"a-k+e", "a-k+b" などの トライフォン状態の集合体となります.また "k" というモノフォンの pseudo HMM は,ベース音素が "k" である全てのトライフォンの状態の集合となります. この生成された pseudo HMM は全て HTK_HMM_INFO 内の cdset_info に 保存されます.
さらに,HMM論理名から実体を探すインデックス木 (logical_root) に, この pseudo HMM のリストが追加されます.これにより,HMM定義ファイル およびHMMリストファイルのどちらにも定義されていないバイフォンや モノフォンについては,この pseudo HMM が代用されるようになります. バイフォンやモノフォンが HMM 定義ファイルや HMMリストファイルのどちらかで 明示的に指定されていれば,そちらが優先されます.
cdset.c で定義されています。
|
Initialize total pseudo HMM information in the given HMM definition data.
参照元 make_cdset(). |
|
Allocate a CD_Set data for a new pseudo phone set.
参照元 regist_cdset(). |
|
Look up for a pseudo phone with the name, and return the content.
参照元 hmm_add_pseudo_phones_sub(), lcdset_lookup_by_hmmname(), と rcdset_lookup_by_hmmname(). |
|
Look up for a pseudo phone by the "left - center" name of the given phone name.
参照元 outprob_style(), と wchmm_add_word(). |
|
Look up for a pseudo phone by the "center + right" name of the given phone name.
|
|
Output text information of a pseudo phone to stdout.
参照元 put_all_cdinfo(). |
|
Output all pseudo phone set information to stdout
|
|
Register a physical HMM as a member of a pseudo phone set.
参照元 make_cdset(). |
|
Remove an pseudo phone set entry from index tree
|
|
Construct the whole pseudo HMM information, and also add them to the logical Triphone tree.
参照元 initialize_HMM(). |