Julius 4.2
マクロ定義 | 関数
libsent/src/phmm/gms.c

Gaussian Mixture Selection による状態尤度計算 [詳細]

#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/hmm_calc.h>

ソースコードを見る。

マクロ定義

#define SD(A)   idx[A-1]
 Index macro for heap sort.
#define SCOPY(D, S)   D = S
 Element copy macro for heap sort.
#define SVAL(A)   (fs[idx[A-1]])
 Element evaluation macro for heap sort.
#define STVAL   (fs[s])
 Element current value macro for heap sort.

関数

static void build_gsset (HMMWork *wrk)
 Register all state defs in GS HMM to GS_SET.
static void free_gsset (HMMWork *wrk)
 Free gsset.
static boolean build_state2gs (HMMWork *wrk)
 Build the correspondence from GS states to triphone states.
static void free_state2gs (HMMWork *wrk)
 free state2gs.
static void sort_gsindex_upward (HMMWork *wrk)
 Heap sort of gsindex to determine which model gets N best likelihoods.
static void do_gms (HMMWork *wrk)
 Calculate all GS state scores and select the best ones.
boolean gms_init (HMMWork *wrk)
 Initialize the GMS related functions and data.
boolean gms_prepare (HMMWork *wrk, int framenum)
 Setup GMS parameters for next input.
void gms_free (HMMWork *wrk)
 Free GMS related work areas.
LOGPROB gms_state (HMMWork *wrk)
 Get HMM State probability of current state with Gaussiam Mixture Selection.

説明

Gaussian Mixture Selection による状態尤度計算

実装方法についてはソース内のコメントをご覧ください.

作者:
Akinobu LEE
日付:
Thu Feb 17 14:52:18 2005
Revision:
1.3

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


関数

static void build_gsset ( HMMWork wrk) [static]

Register all state defs in GS HMM to GS_SET.

引数:
wrk[i/o] HMM computation work area

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

参照元 gms_init().

static void free_gsset ( HMMWork wrk) [static]

Free gsset.

引数:
wrk[i/o] HMM computation work area

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

参照元 gms_free().

static boolean build_state2gs ( HMMWork wrk) [static]

Build the correspondence from GS states to triphone states.

引数:
wrk[i/o] HMM computation work area
戻り値:
TRUE on success, FALSE on failure.

gms.c120 行で定義されています。

参照元 gms_init().

static void free_state2gs ( HMMWork wrk) [static]

free state2gs.

引数:
wrk[i/o] HMM computation work area

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

参照元 gms_free().

static void sort_gsindex_upward ( HMMWork wrk) [static]

Heap sort of gsindex to determine which model gets N best likelihoods.

引数:
wrk[i/o] HMM computation work area

gms.c195 行で定義されています。

参照元 do_gms().

static void do_gms ( HMMWork wrk) [static]

Calculate all GS state scores and select the best ones.

引数:
wrk[i/o] HMM computation work area

gms.c250 行で定義されています。

参照元 gms_state().

boolean gms_init ( HMMWork wrk)

Initialize the GMS related functions and data.

引数:
wrk[i/o] HMM computation work area
戻り値:
TRUE on success, FALSE on failure.

gms.c283 行で定義されています。

参照元 outprob_init().

boolean gms_prepare ( HMMWork wrk,
int  framenum 
)

Setup GMS parameters for next input.

引数:
wrk[i/o] HMM computation work area
framenum[in] length of next input in frames
戻り値:
TRUE on success, FALSE on failure.

gms.c330 行で定義されています。

参照元 outprob_prepare().

void gms_free ( HMMWork wrk)

Free GMS related work areas.

引数:
wrk[i/o] HMM computation work area

gms.c366 行で定義されています。

参照元 outprob_free().

LOGPROB gms_state ( HMMWork wrk)

Get HMM State probability of current state with Gaussiam Mixture Selection.

If the GMS HMM score of the corresponding basephone is below the N-best, the triphone score will not be computed, and the score of the GMS HMM will be returned instead as a fallback score. Else, the precise triphone will be computed and returned.

引数:
wrk[i/o] HMM computation work area
戻り値:
the state output probability score in log10.

gms.c394 行で定義されています。

参照元 outprob_init().