#include <julius/julius.h>
関数 | |
| static int | gmm_find_insert_point (GMMCalc *gc, LOGPROB score, int len) |
| Gaussianのスコアを計算済みGaussianリストのどの位置に挿入すべきかを返す. | |
| static int | gmm_cache_push (GMMCalc *gc, int id, LOGPROB score, int len) |
| あるGaussianの計算結果を計算済みGaussianリストに格納する. | |
| static LOGPROB | gmm_compute_g_base (GMMCalc *gc, HTK_HMM_Dens *binfo) |
| 現在のフレームの入力ベクトルに対する Gaussian の出力確率を計算する. | |
| static LOGPROB | gmm_compute_g_safe (GMMCalc *gc, HTK_HMM_Dens *binfo, LOGPROB thres) |
| 現在のフレームの入力ベクトルに対する Gaussian の出力確率を計算する. | |
| static void | gmm_gprune_safe_init (GMMCalc *gc, HTK_HMM_INFO *hmminfo, int prune_num) |
| GMM計算における Gaussian pruning のためのワークエリアを確保する | |
| static void | gmm_gprune_safe (GMMCalc *gc, HTK_HMM_Dens **g, int gnum) |
| ガウス分布集合内の各ガウス分布の現フレームに対する出力確率を計算する. | |
| static LOGPROB | gmm_calc_mix (GMMCalc *gc, HTK_HMM_State *s) |
| あるGMM状態の現フレームに対する出力確率を計算する. | |
| static LOGPROB | outprob_state_nocache (GMMCalc *gc, int t, HTK_HMM_State *stateinfo, HTK_Param *param) |
| 入力の指定フレームにおけるGMM状態のスコアを求めるメイン関数. | |
| boolean | gmm_init (Recog *recog) |
| GMMの計算のための初期化. | |
| void | gmm_prepare (Recog *recog) |
| GMM計算のための準備を行なう. | |
| void | gmm_proceed (Recog *recog) |
| 与えられた入力ベクトル列上のあるフレームについて,全GMMのスコアを計算し, 計算結果を gmm_score に積算する. | |
| void | gmm_end (Recog *recog) |
| GMMの計算を終了し,結果を出力する. | |
| boolean | gmm_valid_input (Recog *recog) |
| GMMの識別結果,最後の入力が音声入力として有効であったか 無効であったかを返す. | |
| void | gmm_free (Recog *recog) |
| GMM計算に用いたワークエリアを開放する. | |
Gaussian Mixture Model (GMM) が起動時に指定された場合,Julius/Julian は 入力発話に対してフレームごとにスコアを計算し,その累積スコアを算出する. これはGMMに基づく入力音声の発話検証および棄却に用いられる. 実際の計算は 第1パスの認識処理と並行してリアルタイムに行なわれ,第1パス終了と同時に 結果が出力される.
GMMのスコア計算には Gaussian pruning の safe algorithm が用いられ, 各フレームにおいて上位 N 個だけが正しく得られるように計算される. ただし通常の認識用音響モデルの場合と異なり,直前フレームの順位情報は 用いていない.
GMM_VAD 定義時は,上記の入力棄却に加えて,short-pause segmentation と 同じ枠組にを用いた VAD が行われる.
gmm.c で定義されています。
Gaussianのスコアを計算済みGaussianリストのどの位置に挿入すべきかを返す.
| gc | [i/o] GMM計算用ワークエリア | |
| score | [in] 挿入したいスコア | |
| len | [in] 現在のリストの長さ |
参照元 gmm_cache_push().
あるGaussianの計算結果を計算済みGaussianリストに格納する.
| gc | [i/o] GMM計算用ワークエリア | |
| id | [in] Gaussian の GMM 内での番号 | |
| score | [in] その Gaussian の計算された音響尤度 | |
| len | [in] 現在のリストの長さ(現在格納されている Gaussian の数) |
参照元 gmm_gprune_safe().
| static LOGPROB gmm_compute_g_base | ( | GMMCalc * | gc, | |
| HTK_HMM_Dens * | binfo | |||
| ) | [static] |
現在のフレームの入力ベクトルに対する Gaussian の出力確率を計算する.
Gaussian pruning は行なわない.
| gc | [i/o] GMM計算用ワークエリア | |
| binfo | [in] Gaussian |
参照元 gmm_gprune_safe().
| static LOGPROB gmm_compute_g_safe | ( | GMMCalc * | gc, | |
| HTK_HMM_Dens * | binfo, | |||
| LOGPROB | thres | |||
| ) | [static] |
現在のフレームの入力ベクトルに対する Gaussian の出力確率を計算する.
計算時には固定しきい値による safe pruning を行なう.
| gc | [i/o] GMM計算用ワークエリア | |
| binfo | [in] Gaussian | |
| thres | [in] safe pruning のための枝刈りしきい値 |
参照元 gmm_gprune_safe().
| static void gmm_gprune_safe_init | ( | GMMCalc * | gc, | |
| HTK_HMM_INFO * | hmminfo, | |||
| int | prune_num | |||
| ) | [static] |
GMM計算における Gaussian pruning のためのワークエリアを確保する
| gc | [i/o] GMM計算用ワークエリア | |
| hmminfo | [in] HMM 構造体 | |
| prune_num | [in] Gaussian pruning において計算する上位ガウス分布数 |
参照元 gmm_init().
| static void gmm_gprune_safe | ( | GMMCalc * | gc, | |
| HTK_HMM_Dens ** | g, | |||
| int | gnum | |||
| ) | [static] |
ガウス分布集合内の各ガウス分布の現フレームに対する出力確率を計算する.
Gaussian pruning により,実際には上位 N 個のみを保証する枝刈りが行なわれ, スコアの低いガウス分布は計算されない.
計算結果は計算済みGaussianリスト (OP_calced_score, OP_calced_id) に 格納される.
| gc | [i/o] GMM計算用ワークエリア | |
| g | [in] ガウス分布集合 | |
| gnum | [in] g の長さ |
参照元 gmm_calc_mix().
| static LOGPROB gmm_calc_mix | ( | GMMCalc * | gc, | |
| HTK_HMM_State * | s | |||
| ) | [static] |
あるGMM状態の現フレームに対する出力確率を計算する.
| gc | [i/o] GMM計算用ワークエリア | |
| s | [in] GMM 状態 |
| static LOGPROB outprob_state_nocache | ( | GMMCalc * | gc, | |
| int | t, | |||
| HTK_HMM_State * | stateinfo, | |||
| HTK_Param * | param | |||
| ) | [static] |
入力の指定フレームにおけるGMM状態のスコアを求めるメイン関数.
| gc | [i/o] GMM計算用ワークエリア | |
| t | [in] 計算するフレーム | |
| stateinfo | [in] GMM状態 | |
| param | [in] 入力ベクトル系列 |
参照元 gmm_proceed().
| boolean gmm_init | ( | Recog * | recog | ) |
| void gmm_prepare | ( | Recog * | recog | ) |
| void gmm_proceed | ( | Recog * | recog | ) |
与えられた入力ベクトル列上のあるフレームについて,全GMMのスコアを計算し, 計算結果を gmm_score に積算する.
GMM_VAD 定義時は,後で VAD 判定するために,過去 jconf->detect.gmm_margin フレーム分の VAD スコア (音声GMMの最大スコア - 雑音GMMの最大スコア)が 保存される.
| recog | [i/o] エンジンインスタンス |
参照元 decode_proceed().

| void gmm_end | ( | Recog * | recog | ) |
GMMの計算を終了し,結果を出力する.
gmm_proceed() によって累積された各フレームごとのスコアから, 最大スコアのGMMを決定する. その事後確率に基づく信頼度を計算し 最終的な結果を result_gmm() によって出力する.
| recog | [i/o] エンジンインスタンス |
参照元 decode_end(), と decode_end_segmented().

| boolean gmm_valid_input | ( | Recog * | recog | ) |
| void gmm_free | ( | Recog * | recog | ) |
1.5.4