メインページ | モジュール | データ構造 | Directories | ファイル一覧 | データフィールド | グローバル | 関連ページ

cdset.c

Pseudo HMM セットの作成と管理. [詳細]

#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_Setcdset_new ()
CD_Setcdset_lookup (HTK_HMM_INFO *hmminfo, char *cdstr)
CD_Setlcdset_lookup_by_hmmname (HTK_HMM_INFO *hmminfo, char *hmmname)
CD_Setrcdset_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)


説明

Pseudo HMM セットの作成と管理.

作者:
Akinobu LEE
日付:
Tue Feb 15 17:58:54 2005
"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リストファイルのどちらかで 明示的に指定されていれば,そちらが優先されます.

Revision
1.1.1.1

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


関数

static void cdset_init HTK_HMM_INFO hmminfo  )  [static]
 

Initialize total pseudo HMM information in the given HMM definition data.

引数:
hmminfo [i/o] HTK HMM definitions

cdset.c87 行で定義されています。

参照元 make_cdset().

static CD_Set* cdset_new  )  [static]
 

Allocate a CD_Set data for a new pseudo phone set.

戻り値:
pointer to newly allocated CD_Set.

cdset.c98 行で定義されています。

参照元 regist_cdset().

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

cdset.c112 行で定義されています。

参照元 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.
戻り値:
pointer to the pseudo phone if found, or NULL if not found.

cdset.c132 行で定義されています。

参照元 outprob_style(), と wchmm_add_word().

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.

引数:
hmminfo [in] HMM information to search for.
hmmname [in] string of the phone name.
戻り値:
pointer to the pseudo phone if found, or NULL if not found.

cdset.c148 行で定義されています。

static void put_cdset void *  ptr  )  [static]
 

Output text information of a pseudo phone to stdout.

引数:
ptr [in] pointer to a pseudo phone set.

cdset.c162 行で定義されています。

参照元 put_all_cdinfo().

void put_all_cdinfo HTK_HMM_INFO hmminfo  ) 
 

Output all pseudo phone set information to stdout

引数:
hmminfo [in] HMM definition data that holds pseudo phone data.

cdset.c190 行で定義されています。

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.
戻り値:
TRUE if newly registered, FALSE if the specified physical HMM already exists in the pseudo phone.

cdset.c206 行で定義されています。

参照元 lcdset_register_with_category(), と make_cdset().

boolean remove_cdset HTK_HMM_INFO hmminfo,
char *  cdname
 

Remove an pseudo phone set entry from index tree

引数:
hmminfo 
cdname 
戻り値:

cdset.c318 行で定義されています。

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.
戻り値:
TRUE on success, FALSE on failure.

cdset.c351 行で定義されています。

参照元 initialize_HMM().


Juliusに対してTue Mar 28 16:22:15 2006に生成されました。  doxygen 1.4.2