#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. | |
実装方法についてはソース内のコメントをご覧ください.
gms.c で定義されています。
| static void build_gsset | ( | HMMWork * | wrk | ) | [static] |
| static void free_gsset | ( | HMMWork * | wrk | ) | [static] |
| static boolean build_state2gs | ( | HMMWork * | wrk | ) | [static] |
Build the correspondence from GS states to triphone states.
| wrk | [i/o] HMM computation work area |
参照元 gms_init().
| static void free_state2gs | ( | HMMWork * | wrk | ) | [static] |
| static void sort_gsindex_upward | ( | HMMWork * | wrk | ) | [static] |
| 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_state().
| boolean gms_init | ( | HMMWork * | wrk | ) |
Initialize the GMS related functions and data.
| wrk | [i/o] HMM computation work area |
参照元 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 |
参照元 outprob_prepare().
| void gms_free | ( | 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 |
参照元 outprob_init().
1.5.4