com.j_phone.io
クラス VoiceRecognition

java.lang.Object
  |
  +--com.j_phone.io.VoiceRecognition

public class VoiceRecognition
extends java.lang.Object

音声認識制御用のクラスです。

使い方

音声認識処理は、音声資源を使う可能性のあるメディアプレイヤーおよびフレーズプレイヤーの操作中には実行できません。 メディアプレイヤーまたはフレーズプレイヤーの操作中に recognize() メソッドを呼び出した場合、 setVoiceRecognitionListener() メソッドで登録したリスナにエラーが通知されます。

また、メディアプレイヤーおよびフレーズプレイヤーは、 音声認識処理の開始から終了まで (recognize() が呼び出されてから setVoiceRecognitionListener() で登録したリスナに結果が通知されるまで)の間は操作できません。 音声認識処理中にメディアプレイヤーまたはフレーズプレイヤーを操作しようすると、例外が発生します。

導入されたバージョン:
JSCL 1.2

メソッドの概要
 java.util.Enumeration getAvailableLanguages()
          利用可能な音声認識言語の名称を取得します。
 int getCandidateScore(int order)
          認識結果から指定の順位のスコア値を取得します。
 int getCandidateWord(int order)
          認識結果から指定の順位の語句番号を取得します。
static VoiceRecognition getInstance()
          唯一の VoiceRecognition インスタンスを取得します。
 void recognize(java.lang.String dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
          音声認識を行います。
 void recognize(java.lang.String language, java.lang.String dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
          認識言語を指定して音声認識を行います。
 void recognize(java.lang.String language, VoiceRecognitionDictionary dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
          認識言語を指定して音声認識を行います。
 void recognize(VoiceRecognitionDictionary dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
          音声認識を行います。
 void setVoiceRecognitionListener(VoiceRecognitionListener listener)
          音声認識の結果通知用の VoiceRecognitionListener を登録します。
 void stop()
          実行中の音声認識処理を中断します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getInstance

public static VoiceRecognition getInstance()
唯一の VoiceRecognition インスタンスを取得します。
例外:
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない場合に発生する

recognize

public void recognize(VoiceRecognitionDictionary dict,
                      int voiceOffTimeOut,
                      int voiceOnTimeOut,
                      int maxCandidate)
音声認識を行います。

このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。

JSCL1.2.2 以降:
認識言語には getAvailableLanguages() で取得可能な対応言語一覧の先頭の名称が自動的に設定されます。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。

パラメータ:
dict - 認識単語辞書(辞書のフォーマットに従った文字列)
voiceOffTimeOut - 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
voiceOnTimeOut - 音声が入力状態の最大許容時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
maxCandidate - 認識結果の取得候補数(1〜20)。 認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。
例外:
java.lang.IllegalArgumentException - 辞書が不正、入力の最大許容時間を超えたなどのパラメータエラー
IllegalStateException - 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効の場合
関連項目:
MicControl

recognize

public void recognize(java.lang.String dict,
                      int voiceOffTimeOut,
                      int voiceOnTimeOut,
                      int maxCandidate)
音声認識を行います。

このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。

JSCL1.2.2 以降:
認識言語には getAvailableLanguages() で取得可能な対応言語一覧の先頭の名称が自動的に設定されます。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。

パラメータ:
dict - 認識単語辞書(辞書のフォーマットに従った文字列)
voiceOffTimeOut - 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
voiceOnTimeOut - 音声が入力状態の最大許容時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
maxCandidate - 認識結果の取得候補数(1〜20)。 認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。
例外:
java.lang.IllegalArgumentException - 辞書が不正、入力の最大許容時間を超えたなどのパラメータエラー
IllegalStateException - 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効の場合
関連項目:
MicControl

recognize

public void recognize(java.lang.String language,
                      VoiceRecognitionDictionary dict,
                      int voiceOffTimeOut,
                      int voiceOnTimeOut,
                      int maxCandidate)
認識言語を指定して音声認識を行います。

このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 設定可能な認識言語の名称の一覧は getAvailableLanguages() で取得可能です。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。

パラメータ:
language - 認識言語の名称
dict - 認識単語辞書(辞書のフォーマットに従った文字列)
voiceOffTimeOut - 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
voiceOnTimeOut - 音声が入力状態の最大許容時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
maxCandidate - 認識結果の取得候補数(1〜20)。 認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。
例外:
java.lang.IllegalArgumentException - 辞書が不正、入力の最大許容時間を超えた、サポートされていない言語名称が指定された などのパラメータエラー
IllegalStateException - 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効の場合
NullPointerException - 引数 language が null
導入されたバージョン:
JSCL 1.2.2
関連項目:
MicControl

recognize

public void recognize(java.lang.String language,
                      java.lang.String dict,
                      int voiceOffTimeOut,
                      int voiceOnTimeOut,
                      int maxCandidate)
認識言語を指定して音声認識を行います。

このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 設定可能な認識言語の名称の一覧は getAvailableLanguages() で取得可能です。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。

パラメータ:
language - 認識言語の名称
dict - 認識単語辞書(辞書のフォーマットに従った文字列)
voiceOffTimeOut - 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
voiceOnTimeOut - 音声が入力状態の最大許容時間(10〜10000ミリ秒)。 ただし、1 ミリ秒単位の指定部分は無視される。
maxCandidate - 認識結果の取得候補数(1〜20)。 認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。
例外:
java.lang.IllegalArgumentException - 辞書が不正、入力の最大許容時間を超えた、サポートされていない言語名称が指定された などのパラメータエラー
IllegalStateException - 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効の場合
NullPointerException - 引数 language が null
導入されたバージョン:
JSCL 1.2.2
関連項目:
MicControl

getAvailableLanguages

public java.util.Enumeration getAvailableLanguages()
利用可能な音声認識言語の名称を取得します。

このメソッドを呼び出すことで利用可能な音声認識言語の名称の一覧を取得可能です。 一覧中の各名称は String 型のオブジェクトとして取得可能です。

戻り値:
利用可能な音声認識言語の名称の一覧
導入されたバージョン:
JSCL 1.2.2

stop

public void stop()
実行中の音声認識処理を中断します。

このメソッドは中断依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 そのため、場合によってはこのメソッド呼び出しと同時に認識処理が終了する場合があり、その場合には途中中断ではなく、該当の結果としてリスナに通知されます。

処理実行中でない場合には、特に何も行いません(エラーにもなりません)。


getCandidateWord

public int getCandidateWord(int order)
認識結果から指定の順位の語句番号を取得します。
パラメータ:
order - 語句番号を取得する認識結果の候補中の順位
戻り値:
指定の順位の候補の語句番号
例外:
java.lang.IllegalArgumentException - 指定した順位の誤り

getCandidateScore

public int getCandidateScore(int order)
認識結果から指定の順位のスコア値を取得します。
パラメータ:
order - スコア値を取得する認識結果の候補中の順位を指定する
戻り値:
指定の順位の候補のスコア値
例外:
java.lang.IllegalArgumentException - 指定した順位の誤り

setVoiceRecognitionListener

public void setVoiceRecognitionListener(VoiceRecognitionListener listener)
音声認識の結果通知用の VoiceRecognitionListener を登録します。
パラメータ:
listener - 新しい VoiceRecognitionListener