Rev.3.4.2 の変更点

rev.3.4.2 はバグ修正と1つの新機能を含んでいます.このバージョンでは,3.4 および 3.4.1 に発見されたデコーディングに関するバグが修正されていますので,全てのユーザは 3.4.2 へバージョンアップすることをお薦めします.3.4.1 からの変更点は以下の通りです. 以下,主要な変更点について解説します.

数単語の認識でN-best候補が正しく出ないことがある不具合を修正

Julius/Julian の rev.3.4 および rev.3.4.1において,N-best候補が正しく計算されないことがあるバグを修正しました.

なお,このバグは数単語程度の小さな辞書を使用する場合に発生します.ディクテーションや音声対話システムなどでは,本バグの影響はほとんどありません.

このバグは rev. 3.4 でエンバグされました.この修正に関連するファイルは julius/search_bestfirst_main.cです.

クライアントからの音声入力制御の安定化(adinnet使用時)

クライアントからJulius/Julianを制御するモジュールモード(-module)と音声入力クライアントから音声入力を受信するモード(-input adinnet)併用時に,音声入力の中断・再開機能(PAUSE/TERMINATEコマンド)の動作がおかしくなることがある不具合を改善しました.

以前のバージョンでは,モジュールクライアントから PAUSE コマンドを送信して音声入力をストップさせ,次に RESUME で再開させたときに,入力が止まったり,直前の発話の最後の部分だけが送信されるといった現象が見られました.このバージョンからは,音声入力クライアント(adintool等)と Julius/Julian との間でも PAUSE/RESUME の制御を行うことで,この動作を改善しました.

generate の無限ループを修正

文法に従って文を自動生成するツール "generate" が無限ループに入ることがあるバグを修正しました.これは,小さな文法を用い,かつ生成数 "-n" を大きく指定した場合に,その文法で許されうる全パターンを出力したあとに generate がフリーズするというものです.

この修正に関連するファイルは gramtool/generate/generate.c です.

短い入力を棄却する機能 -rejectshort の追加

入力が指定した長さ以下のときに,それを認識しないで棄却する機能が追加されました.このオプションを適切に指定することで,周囲の物音などの(短時間の)雑音によって音声認識が誤動作するのを,ある程度抑えることができます.

この機能を使用するには,オプション-rejectshortで棄却する長さをミリ秒単位で指定します.以下は,800ミリ秒以下の入力を棄却する場合の例です.

  -rejectshort 800
入力がこれより短かった場合,Julius/Julian はその入力に対して認識処理を行わず に終了します.マイク入力の場合は入力と平行して第1パスが計算されますが,第1パスが終了した時点で入力長が指定長に満たなければ,第2パスを行わずに終了します.

入力が棄却されたとき,Julius/Julianは以下のようなメッセージを標準出力に出力します.

  input rejected: too short input
またモジュールモード時は以下のようなメッセージがクライアントへ送られます.
  <REJECTED REASON="too short input"/>
なお,このオプションを "-record" と併用する場合,この機能によって棄却された入力も,通常の入力と同様にファイルに記録されます.

オプション変更一覧

Julius-3.4.2 で変更されたconfigureオプションおよび起動時オプションの一覧です。

configureオプション:

起動時オプション:
$Id: WhatsNew_3.4.2.html,v 1.1.1.1 2005/11/17 11:11:49 sumomo Exp $