2014/05/29

Juliusで強制アライメントするときのオプション

日本語音声認識システム Juliusで
強制アライメントをかけるときのオプションをいつも忘れるので、メモ。

(想定)
・音声入力に対して、正解テキストがわかっているときにその出現時間を推定する。
・音響モデルはデフォルトのものを使う。(言語モデルは強制アライメントなのでいらない)
ex)台本の決まったセリフの音声と台本を入力として、各音素(単語)の出現時間を調べる。

この想定だと大体こんな感じ
julius.exe -C main.jconf -filelist list.txt -gram grammer -outfile -palign

それぞれ
-C: jconf(設定ファイル)を読み込む
-filelist: 音声ファイルのパス(複数の場合)
-gram: 文法ファイル等(hoge.grammar)の読み込み。拡張子は不要。
          テキストの長さが短い場合は-wのほうが簡単。
-outfile: 認識結果を外部ファイルに出力する。
           出力場所とファイル名は指定できない(音声ファイル.outになる)。
-palign:認識結果に各音素の開始・終了時間を追記する。
    上記想定と例の場合、これがないと開始時間がわからないので、悲しいことになる。

ちなみに、jconfについては
・jconfの中の-inputの行はrawfileだけコメントをはずす必要がある。
 そうしないとマイク入力を認識し始めて悲しい。
・-gramを使う場合はjconf側で単語辞書と文法ファイルのオプションをコメントアウトする。
 そうしないとmultiple LM errorみたいなエラーがでる。
・逆に-gramrを使わない場合はコメントアウトするとLM not found みたいなエラーがでる。

そのうち、grammarファイルとかdictファイルの作り方とまとめて、
「juliusで強制アライメント!」みたいな記事作るかもしれません。

0 件のコメント:

コメントを投稿