Parameter setting for speech recognition

April 12, 2013

The speech recognition module of MMDAgent is based on “Julius”, the open-source large-vocabulary continuous speech recognition engine.  Configuration file of the module is located at Appdata\Julius\jconf.txt, and you can modify parameters in the file in order to improve speech recognition performance. Several major parameters are described as follows, with their default values.

  • -lv 1500
    Sound detection threshold.  Speech recognition will start when the amplitude of audio input goes over this value for a while.  Setting larger value will make the detection sensitivity lower.  On the application, the amplitude of current input is drawn as blue bar and the threshold as yellow line in front of the character as in the  figure below.
  • -b 800
    Search width.  Larger value will make Julius to search for a larger number of hypotheses in the recognition process and make the recognition accuracy stable, at a cost of increasing the computational cost.  Setting smaller value may improve speech recognition speed, but may result in the degradation of recognition accuracy.
  • -rejectshort 700
    A threshold to reject a short input in milliseconds.  Julius will reject an input whose detected length is less than the specified value.  This function is for avoiding unintentional sound detection caused by a short, impulsive noise.
  • -tailmargin 240
    Margin length at the end of  a speech input in milliseconds.  Smaller value will lead to a quicker response of the speech recognition, however the end-of-speech detection may become unstable.

 the amplitude of current input and the threshold

See the Julius manual section of “Juliusbook” as a reference for available parameters of Julius that can be written in the file.

=== Japanese ========================================

MMDAgentでは音声認識に,大語彙連続音声認識エンジンJuliusを使っています.設定ファイルはAppData\Julius\jconf.txtで,これを編集することで音声認識の設定やパフォーマンスの調整を行うことができます.ここでは設定できる項目のうち,代表的なものを説明します.なお,それぞれ記されている数値はデフォルトの値です.

  • -lv  1500
    設定値より大きい入力音声の振幅が一定時間続けば音声認識開始とみなされます.設定値を大きくすると,感度が鈍くなります.なお,下図のキャラクターの前に表示されている青いバーが入力音声の振幅であり,黄色い線がこの設定値です.
  • -b  800
    探索幅です.設定値が大きいと認識中にたくさんの候補を扱うようになり,計算量はかかるようになりますが精度は安定します.逆に小さくするほど候補を絞るので認識処理が高速になりますが,精度が悪くなる可能性が高くなります.
  • -rejectshort  700
    検出した音の長さ(ミリ秒)がこの設定値未満の時,認識を行わずに入力を無視します.鋭い物音等で音声認識が意図せず開始されるのを防ぐ役割を持っています.
  • -tailmargin  240
    音の長さの終了部のマージン(ミリ秒)です.設定値を小さくすると,発話終了の検出が早くなりますが,発話終了の検出が不安定になる可能性があります.大きくすることで安定しますが,認識結果が出力されるのが遅くなります.

 the amplitude of current input and the threshold

Julusで設定できるパラメータについては,JuliusのWebページにあるThe Juliusbookのjuliusの節を参考にしてください.

CC-BY-NC Copyright 2009-2011 Nagoya Institute of Technology (MMDAgent Model “Mei”)
CC-BY Copyright 2009-2011 Nagoya Institute of Technology (MMDAgent Accessory “NIT Menu”, MMDAgent Motion “Wait of Mei”)

Advertisements