モノフォンからトライフォン表記の生成は,ある音素 "X" に対して直前の音素が "L",直後の音素が "R" である場合に "L-X+R" の形で行われます.以下は単語「英訳」のトライフォン表記への変換例です.
英訳+エイヤク+17 [英訳] e i y a k u
↓
英訳+エイヤク+17 [英訳] e+i e-i+y i-y+a y-a+k a-k+u k-u
Julius ではこのような単語辞書の音素表記,およびそこから生成されるトライフォン表記を「論理トライフォン(logical triphone)」と呼びます.またこれに対して,実際に hmmdefs で定義されているHMM名を「物理トライフォン(physical triphone)」と呼びます.
a-k a-k+a a-k+a: a-k+a a-k+e a-k+e: a-k+e a-k+i a-k+i: a-k+i a-k+o a-k+o: a-k+o a-k+u a-k+u: a-k+u ...システムにおいて実際にどのようにマッピングされているかは,julius を "-check wchmm" を付けて起動することでチェックできます.初期化終了後チェックモードに入りプロンプトがでてくるので,"h 論理トライフォン名" と打つとそのトライフォンに関する情報が出力されます.
第2パスでは正確な単語間の依存性を計算します.ある仮説から次の単語を展開する際,接続部のモデルを依存性を考慮して切り替えながら探索を行います.
今日 + は ky+o: ky-o: w+a w-a
↓
今日 は ky+o: ky-o:+h o:-w+a w-a
~h "j-u+q"という定義があるとき,HMMList ファイルで
j-u+q y-u+qなどど指定すると,j-u+q のHMM定義は実際には使用されずに y-u+q が使われ ることになります.