Julius 4.2
|
Pseudo HMM セットの作成と管理 [詳細]
#define | CD_STATE_SET_STEP 10 |
static void | cdset_init (HTK_HMM_INFO *hmminfo) |
Initialize total pseudo HMM information in the given HMM definition data. | |
static CD_Set * | cdset_new () |
Allocate a CD_Set data for a new pseudo phone set. | |
CD_Set * | cdset_lookup (HTK_HMM_INFO *hmminfo, char *cdstr) |
Look up for a pseudo phone with the name, and return the content. | |
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. | |
CD_Set * | rcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname) |
Look up for a pseudo phone by the "center + right" name of the given phone name. | |
static void | put_cdset (void *ptr) |
Output text information of a pseudo phone to stdout. | |
void | put_all_cdinfo (HTK_HMM_INFO *hmminfo) |
Output all pseudo phone set information to stdout. | |
boolean | regist_cdset (APATNODE **root, HTK_HMM_Data *d, char *cdname, BMALLOC_BASE **mroot) |
Register a physical HMM as a member of a pseudo phone set. | |
boolean | make_cdset (HTK_HMM_INFO *hmminfo) |
Construct the whole pseudo HMM information, and also add them to the logical Triphone tree. | |
static void | callback_free_lcdset_content (void *arg) |
callback for aptree function to free the content of pseudo phone set. | |
void | free_cdset (APATNODE **root, BMALLOC_BASE **mroot) |
Remove all the registered category-indexed pseudo state sets. |
Pseudo HMM セットの作成と管理
"Pseudo %HMM" は,与えられた音響モデルやHMMリストで定義されていない バイフォンやモノフォンについて,それを共通コンテキストとする トライフォン集合で代替するもので,主に第1パスの単語間トライフォン 計算に用いられます.
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 で定義されています。