#include <julius/julius.h>
関数 | |
static HMM_Logical ** | make_phseq (WORD_ID *wseq, short num, boolean **has_sp_ret, int *num_ret, int **end_ret, int per_what, RecogProcess *r) |
与えられた単語列からHMMを連結して文全体のHMMを構築する. | |
static void | do_align (WORD_ID *words, short wnum, HTK_Param *param, int per_what, Sentence *s, RecogProcess *r) |
文全体のHMMを構築し,Viterbiアラインメントを実行し,結果を出力する. | |
void | word_align (WORD_ID *words, short wnum, HTK_Param *param, Sentence *s, RecogProcess *r) |
単語ごとの forced alignment を行う. | |
void | word_rev_align (WORD_ID *revwords, short wnum, HTK_Param *param, Sentence *s, RecogProcess *r) |
単語ごとの forced alignment を行う(単語が逆順で与えられる場合) | |
void | phoneme_align (WORD_ID *words, short num, HTK_Param *param, Sentence *s, RecogProcess *r) |
音素ごとの forced alignment を行う. | |
void | phoneme_rev_align (WORD_ID *revwords, short num, HTK_Param *param, Sentence *s, RecogProcess *r) |
音素ごとの forced alignment を行う(単語が逆順で与えられる場合) | |
void | state_align (WORD_ID *words, short num, HTK_Param *param, Sentence *s, RecogProcess *r) |
HMM状態ごとの forced alignment を行う. | |
void | state_rev_align (WORD_ID *revwords, short num, HTK_Param *param, Sentence *s, RecogProcess *r) |
HMM状態ごとの forced alignment を行う(単語が逆順で与えられる場合) |
ここでは,認識結果に対する入力音声のアラインメントを出力するための 関数が定義されています.
Julius/Julian では,認識結果においてその単語や音素,あるいはHMMの状態が それぞれ入力音声のどの区間にマッチしたのかを知ることができます. より正確なアラインメントを求めるために,Julius/Julian では認識中の 近似を含む情報は用いずに,認識が終わった後に得られた認識結果の単語列に 対して,あらためて forced alignment を実行しています.
word_align.c で定義されています。
static HMM_Logical** make_phseq | ( | WORD_ID * | wseq, | |
short | num, | |||
boolean ** | has_sp_ret, | |||
int * | num_ret, | |||
int ** | end_ret, | |||
int | per_what, | |||
RecogProcess * | r | |||
) | [static] |
与えられた単語列からHMMを連結して文全体のHMMを構築する.
wseq | [in] 単語列 | |
num | [in] wseq の数 | |
has_sp_ret | [out] ショートポーズを後続に挿入しうるユニットの情報 | |
num_ret | [out] 構築されたHMMに含まれる音素HMMの数 | |
end_ret | [out] アラインメントの区切りとなる状態番号の列 | |
per_what | [in] 単語・音素・状態のどの単位でアラインメントを取るかを指定 | |
r | [in] 認識処理インスタンス |
word_align.c の 78 行で定義されています。
参照元 do_align().
static void do_align | ( | WORD_ID * | words, | |
short | wnum, | |||
HTK_Param * | param, | |||
int | per_what, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) | [static] |
文全体のHMMを構築し,Viterbiアラインメントを実行し,結果を出力する.
words | [in] 文仮説をあらわす単語列 | |
wnum | [in] words の長さ | |
param | [in] 入力特徴パラメータ列 | |
per_what | [in] 単語・音素・状態のどの単位でアラインメントを取るかを指定 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 186 行で定義されています。
参照元 phoneme_align(), phoneme_rev_align(), state_align(), state_rev_align(), word_align(), と word_rev_align().
void word_align | ( | WORD_ID * | words, | |
short | wnum, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
単語ごとの forced alignment を行う.
words | [in] 単語列 | |
wnum | [in] words の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 370 行で定義されています。
void word_rev_align | ( | WORD_ID * | revwords, | |
short | wnum, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
単語ごとの forced alignment を行う(単語が逆順で与えられる場合)
revwords | [in] 単語列(逆順) | |
wnum | [in] revwords の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 398 行で定義されています。
void phoneme_align | ( | WORD_ID * | words, | |
short | num, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
音素ごとの forced alignment を行う.
words | [in] 単語列 | |
num | [in] words の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 431 行で定義されています。
void phoneme_rev_align | ( | WORD_ID * | revwords, | |
short | num, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
音素ごとの forced alignment を行う(単語が逆順で与えられる場合)
revwords | [in] 単語列(逆順) | |
num | [in] revwords の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 459 行で定義されています。
void state_align | ( | WORD_ID * | words, | |
short | num, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
HMM状態ごとの forced alignment を行う.
words | [in] 単語列 | |
num | [in] words の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 492 行で定義されています。
void state_rev_align | ( | WORD_ID * | revwords, | |
short | num, | |||
HTK_Param * | param, | |||
Sentence * | s, | |||
RecogProcess * | r | |||
) |
HMM状態ごとの forced alignment を行う(単語が逆順で与えられる場合)
revwords | [in] 単語列(逆順) | |
num | [in] revwords の単語数 | |
param | [in] 入力特徴ベクトル列 | |
s | [out] アラインメント結果を格納するSentence構造体 | |
r | [i/o] 認識処理インスタンス |
word_align.c の 520 行で定義されています。