Julius GUI

目次


新着情報

[2003/8/25]
バージョン0.9.3のWindows版とLinux版をリリースしました.

はじめに

Julius GUIは,大語彙連続音声認識エンジンJuliusを利用したオープンソースの音声認識システムです. マイクやファイルから音声を入力し,入力波形を表示しながらリアルタイムに音声認識 を行うことができます.Julius GUIには,以下のような特徴があります.


使用方法

1. 起動する前に

まず,Juliusの音声認識エンジンに必要な音響モデルや言語モデルなどのファイルと, Julius用の設定ファイルを用意して下さい.Julius GUIは,単体では動作しません.

これらのファイルを持っていない場合は,以下のファイルをダウンロードして解凍して おいて下さい.この中に音声認識エンジンに最低限必要なものは入っています.ファイル サイズが巨大(20Mほど)ですので注意して下さい.

http://www.itakura.nuee.nagoya-u.ac.jp/people/banno/archive/julius-data-2.1-1.zip

Linuxで動かしたい人のために,RPMファイルも用意されていますので,そういう人は julius-data-2.1-1.noarch.rpm をダウンロードして下さい.

また,マイクからの音声を認識するためには,サウンドカードが16kHzのサンプリング周波数をサポートしている必要があります. 16kHzサンプリングで,ある程度の品質で音声入力できない場合には認識精度は極端に低下します.

2. 起動

WindowsやMac OS Xでは実行ファイルをダブルクリックして起動し,その他のOSでは, コマンドラインから起動します.初めて起動した場合には,設定ファイル(jconf ファイル)を読み込む必要があります.設定ファイルの記述を確認し,音声認識に 必要な音響モデルや言語モデルのファイルがあるかを確認して下さい.設定ファイルが 適切でないと音声認識は動作しません.

上記のjulius-data-2.1-1を使用した場合は,confディレクトリ(フォルダ)の中の fast.jconfかlight.jconfを使用して下さい.

3. 音声入力

「音声」メニューから「音声入力の開始」を選ぶと,音声入力が開始されます. この状態で,画面下部の波形表示領域に波形がうまく表示されていることを確認して 下さい.声を出しても何も表示されない場合は,マイク入力のレベルが低いか, ミュートされている可能性があります.また,波形がほとんど赤色になってしまう 場合は,マイク入力のレベルが高すぎます.こういった場合は,ミキサーを起動して レベルを調節して下さい.

また,「音声」メニューには,「モニタリング」という項目があります.これを オンにすると,現在の発声内容をモニタリングできます.と言っても,多少遅れが ありますので(特に音声認識中は),うまく発声できなくなるかもしれません. うまくマイクが入力できているかを確認するために使用して下さい.

4. 閾値の調節

波形表示領域の右にあるスライダーは,波形を切り出す閾値を決めるものです.その 値は波形表示領域の左端に表示されています.これを調節して,発声しているとき だけに波形が緑色になるようにして下さい.閾値のレベルが適切でない場合は, 音声認識はほとんどうまく動作しません.なお,この閾値の値については,独自に 保存するため,jconfファイルのものとは一致しません.

5. 認識の開始

以上の準備が完了したら,「音声」メニューから「音声認識」を選び,音声認識を 開始して下さい.開始するまでには,結構時間がかかります.認識が開始できる 段階になると,最初にダイアログが表示されます.そのダイアログのメッセージに 従い,最初は「マイクのテスト」などの短い文を発声して下さい.そして,その 結果はあまり気にしないで下さい.

次に,とりあえず「衆院議員は,具体的にどう考えているのか」と発声してみて, 正しい結果が出るなら,認識はうまく動作していると考えて良いと思います.

認識中は「認識中...」というメッセージがステータスバーに表示されます. 「何か話して下さい.」というメッセージに変わったら次の文の認識を行うことが できます.


注意点

波形がうまく表示されているのに認識がうまくできない場合には,マイクの音が 歪んでいたり,雑音がのっている場合があります.モニタリングしてみて,明らか に歪んでいたり雑音が聞こえるなら,もう少しマシな(^_^)マイクに交換してみて 下さい.ちなみに,ノートPCの内蔵マイクなどは,音質が悪いことが多く,ほとんど 認識できません.

なお,通常Juliusに付属している言語モデルは新聞から学習したものですので, 新聞に良く出てきそうな文なら結構認識しますが,話し言葉や固有名詞,専門 用語を含む文では認識がうまくいかないことが多いので注意して下さい.また, 音響モデルもクリーンな環境で収録された音声から学習していますので,雑音 の多い環境では認識率はかなり低下します.

それから,ダウンロード用の言語モデルや音響モデルはあくまでも簡易版と考えて下さい. 本格的に音声認識を行いたい人は,音声認識コンソーシアムの会員になれば, より高性能な言語モデルや音響モデルを入手することができます.


自動ラベリング

バージョン0.9.1から,Julius GUIは簡易自動ラベリングシステムとしても機能させることができるようになりました. 具体的には,発声内容を音声認識し,音素や単語などの単位に分け,その単位を入力音声の時間に対応付けることができます. この機能を利用するには,以下の操作を行って下さい.

  1. 「ファイル」メニューの「ファイルエリアを表示」にチェックを入れ,ファイルエリアを表示させる.
  2. ファイルから入力を行いたい場合は,ファイルエリアの「入力音声ファイル」に入力させたいファイルを指定する. マイクから入力する場合にはこの操作は必要ない.
  3. ファイルエリアの「出力音声ファイル」に入力された音声が出力される音声ファイルを指定する. この指定がない場合には,ラベリングが行われないので注意.
  4. ファイルエリアの「ラベルファイル」にラベルファイル名を指定する. このファイルにラベリングの結果がテキストで書き込まれることになる. この指定がない場合には,ラベリングが行われないので注意.
  5. 「音声」メニューの「ラベルの種類」から,「単語」「音素」「文」「境界」のいずれかを選択する. ここで「境界」というのは文の開始点と終了点のみを出力することを示す.
  6. 使用方法の説明に従い,音声認識を行う.波形表示領域で 波形が「ラベルの種類」で選択した単位でセグメント化され,ラベル付けされていることを確認する.

なお,拙作の音声ファイルエディタspwave(バージョン0.6.8以降)を使用すると,ラベルと音声ファイルの編集を行うことができます. その場合はspwaveを用意し,音声認識を開始する前に,以下の設定を行っておいて下さい.

  1. 「編集」メニューから「設定...」を選択し,設定ダイアログを開く.
  2. 設定ダイアログの「音声」タブで,「音声ファイルエディターを使用」をチェックする.
  3. ダイアログが表示されるので,指示に従ってspwaveの実行ファイルを指定する.
  4. 「音声」メニューに「音声の編集...」という項目が追加されていることを確認する. これが追加されていない場合は,なんらかの問題が発生していることを示している.

以上の設定を認識前に行っておくと,認識が終了した後に, 「音声」メニューの「音声の編集...」を選択すると,出力した音声ファイルとラベルを編集することができます. spwaveの詳しい使用方法はspwaveのページを参考にして下さい.


動作確認

Windows 98SE/2000/XP,Linux (glibc 2.1),Mac OS X 10.1での動作を確認しています. なお,スレッドを使用していますので,スレッドセーフでない環境では実行できないようにしてあります.

また,CPUパワーとメモリが貧弱なマシンではまともに動作しない可能性があります. Pentium III 500MHz,メモリ128Mのマシンでも少し遅く感じます.


ライセンス

Julius GUIはフリーソフトです.Julius GUIは,将来的にライブラリに なるかもしれないので,LGPLにしておきます.詳しくはLICENSE.txtを 御覧下さい.また,音声認識の結果を利用するときなどは,コマンドライン版 Juliusのライセンスを確認して下さい.LICENSE_JULIUS.txtは, コマンドライン版Juliusのライセンスに関する文書です.


更新履歴

Version 0.9.3				2003/8/18
 * 結果の候補を表示するダイアログの作成.
 * Juliuslib を1.3.0に(バグFIX等)

Version 0.9.2-2				2003/7/2
 * Juliuslib を1.2.1に(細かいバグFIX等)
 * CMNファイルの保存,読み込みを行うようにした
  (一文目から比較的正確な認識が行えるようになった)

Version 0.9.2-1				2003/7/1
 * Juliuslib を1.2に(Julius 3.3p4ベース).
 * jconfファイルを再読み込みしたときに認識エンジンが再起動しないバグを修正.
 * 認識エンジンを再起動したときに波形描画が行われないバグを修正.

Version 0.9.1-4                         2002/3/5
 * ラベルの種類が「文」のときに出力がおかしいバグを修正.
 * 認識を途中で停止した後再び認識を開始すると,時間がずれるバグを修正.

Version 0.9.1-3b                        2002/2/4
 * チャネルの出力を可能にした.
 * メニュー構成を変更.
 * Julius自体が1文が長いときに落ちるバグを修正.
 * ファイルリストの拡張子の扱いがおかしいバグを修正.

Version 0.9.1-2b                        2002/1/18
 * 作業フォルダを保存するようにした.
 * 2回目に入力を開始するとラベルにオフセットが含まれるバグの修正.
 * ファイルを指定する際にフィルター(*.wavなど)を使うようにした.

Version 0.9.1-1b                        2002/1/15
 * Juliuslib を1.0に.
 * ファイル入力に対応.
 * ラベルファイルの出力を可能に.
 * アライメント情報の表示.
 * フォントの設定を可能に.
 * 音声入力をやり直したときに,認識エンジンまで再起動するのをやめた.
 * 日本語化.
 * 編集メニューの作成.
 * 設定ダイアログの作成.

Version 0.9.0                           2001/7/11        banno
 * 最初に公開したバージョン.

ダウンロード



counter since Jul 12 2001

Last modified: "2003-08-25 22:17:30 banno"

banno@itakura.nuee.nagoya-u.ac.jp