|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.device.SpeechRecognizer
SpeechRecognizerクラス
音声認識フロントエンド機能にアクセスする手段を提供します。
音声認識フロントエンド機能は音声入力から特徴量の抽出を行います。
音声認識フロントエンド機能にアクセスするには、getInstance()
メソッドを呼び出し、音声認識フロントエンド機能を表すインスタンスを取得する必要があります。
インスタンス取得後、start(String, SpeechListener)
メソッドを呼び出すことで特徴量の抽出処理が開始されます。
start(String, SpeechListener)
メソッドの呼び出し後、実際に音声入力が可能になるまでの時間をレディ時間といいます。
このレディ時間は getReadyTime(String)
メソッドで取得することができます。
start(String, SpeechListener)
メソッドに指定できるコーデックは getAvailableCodec()
メソッドを用いて調べることができます。
特徴量抽出処理において発生したイベントは start(String, SpeechListener)
メソッドに指定した SpeechListener
インスタンスに通知されます。
音声認識フロントエンド機能に蓄積されている特徴量データは getFeature()
メソッドで取得します。
特徴量抽出処理は最大発話時間に達するか、stop()
メソッドを呼び出すことで終了します。
取得した特徴量データはDDP通信
を利用して音声認識バックエンドサーバに送信し、認識結果チャンクを取得します。
認識結果チャンクを指定して getResultInformation(byte[], String)
メソッドを呼び出すことで認識結果情報を取得できます。
アプリケーションがサスペンド、非活性状態、休眠状態に遷移すると音声認識フロントエンド機能のインスタンスは利用不能になります。
音声認識フロントエンド機能が利用不能になった場合、新たに getInstance()
メソッドを呼び出し、インスタンスを取得しなおすことで、再度音声認識フロントエンド機能を利用することが可能になります。
メソッドの概要 | |
String[] |
getAvailableCodec()
音声認識フロントエンド機能が対応しているコーデックを取得します。 |
int[] |
getAvailableType()
音声認識フロントエンド機能が対応している認識種別を取得します。 |
SpeechFeatureData |
getFeature()
音声認識フロントエンド機能に蓄積されている特徴量データを取得します。 |
static SpeechRecognizer |
getInstance()
音声認識フロントエンド機能のインスタンスを取得します。 |
int |
getMaxSpeechTime()
最大発話時間を取得します。 |
String |
getName()
音声認識フロントエンド機能の名前とバージョンを取得します。 |
int |
getReadyTime(String codec)
レディ時間を取得します。 |
SpeechResultInformation |
getResultInformation(byte[] data,
String charSet)
認識結果情報を取得します。 |
boolean |
isAvailable()
音声認識フロントエンド機能のインスタンスが利用可能であるか確認します。 |
void |
reset()
特徴量抽出処理をリセットします。 |
void |
start(String codec,
SpeechListener listener)
特徴量抽出処理を開始します。 |
void |
stop()
特徴量抽出処理を停止します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static SpeechRecognizer getInstance()
音声認識フロントエンド機能のインスタンスを取得します。
利用可能な音声認識フロントエンド機能のインスタンスが存在する間は、このメソッドを複数回呼び出しても利用可能な音声認識フロントエンド機能の同一インスタンスを返します。 利用可能な音声認識フロントエンド機能のインスタンスが無い場合は、新たにインスタンスを生成して返します。
パーミッションとして音声認識APIの利用が許可されているトラステッドiアプリのみ、 このメソッドを呼び出すことができます。
端末によっては、音声認識フロントエンド機能をサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException
が発生します。
UnsupportedOperationException
- フロントエンド音声認識機能をサポートしていない場合に発生します。
IllegalStateException
- 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
DeviceException
- リソース不足によりフロントエンド音声認識機能のインスタンスを確保できない場合に発生します。(NO_RESOURCES)
public boolean isAvailable()
音声認識フロントエンド機能のインスタンスが利用可能であるか確認します。
音声認識フロントエンド機能のインスタンスが利用できないない場合に再度音声認識機能を利用するには、getInstance()
メソッドで使ってインスタンスを取得しなおしてください。
public String getName()
音声認識フロントエンド機能の名前とバージョンを取得します。
取得した名前とバージョンは DDP通信
の "X-DDP-Frontend" プロパティのプロパティ値として使用します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
DDPConnection.setRequestProperty(String, String)
public int getMaxSpeechTime()
最大発話時間を取得します。 なお、最大発話時間にはレディー時間も含まれています。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
public String[] getAvailableCodec()
音声認識フロントエンド機能が対応しているコーデックを取得します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
public int[] getAvailableType()
音声認識フロントエンド機能が対応している認識種別を取得します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
public int getReadyTime(String codec)
レディ時間を取得します。
レディ時間とは特徴量抽出を開始
してから、発話可能になるまでの時間(ミリ秒)です。
codec
- コーデックを指定します。
NullPointerException
- cedec に null が指定された場合に発生します。
IllegalArgumentException
- サポートされていないコーデックが指定された場合に発生します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
public void start(String codec, SpeechListener listener)
特徴量抽出処理を開始します。
特徴量抽出処理を開始すると蓄積されている特徴量データはクリアされます。
iアプリ、もしくはネイティブ側で音を再生している場合は、抽出処理は開始できません。 抽出処理中に、iアプリ、もしくはネイティブ側で音を再生させようとした場合は抽出処理が停止します。
codec
- コーデックを指定します。listener
- 特徴量抽出処理の過程で発生するイベントを受けるリスナーを指定します。
NullPointerException
- cedec に null が指定された場合に発生します。
NullPointerException
- listener に null が指定された場合に発生します。
IllegalArgumentException
- サポートされていないコーデックが指定された場合に発生します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
IllegalStateException
- 既に、特徴量抽出が開始されている場合に発生します。
DeviceException
- リソース不足の場合に発生します。(NO_RESOURCES)
DeviceException
- 競合条件により特徴量抽出を開始できない場合に発生します。(RACE_CONDITION)
getAvailableCodec()
,
stop()
public void stop()
特徴量抽出処理を停止します。
このメソッドで抽出処理を停止した場合、抽出処理停止後も特徴量データの蓄積が通知されます。
特徴量抽出処理が開始されていない場合は何もしません。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
start(String, SpeechListener)
public void reset()
特徴量抽出処理をリセットします。
蓄積されている特徴量データをクリアし、特徴量抽出を開始可能な状態にします。 特徴量抽出処理中に呼び出した場合は抽出処理が停止し、抽出処理停止のイベント通知が行なわれます。 特徴量データが蓄積されている場合、特徴量データはクリアされます。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
start(String, SpeechListener)
public SpeechFeatureData getFeature()
音声認識フロントエンド機能に蓄積されている特徴量データを取得します。
音声認識フロントエンド機能に特徴量データが蓄積されている場合、特徴量データを保持する SpeechFeatureData
オブジェクトが返ります。
特徴量データが蓄積されていない場合は null が返ります。
このメソッドは毎回新しいインスタンスを生成して返します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
IllegalStateException
- 特徴量抽出の開始前に呼び出された場合に発生します。
リセットもしくは最後の特徴量データを取得した後から、特徴量抽出の開始前に呼び出された場合にも発生します。
public SpeechResultInformation getResultInformation(byte[] data, String charSet)
認識結果情報を取得します。
認識結果チャンクから認識結果情報を取得します。
このメソッドは毎回新しいインスタンスを生成して返します。
音声認識バックエンドサーバーから取得した認識結果チャンクを指定してください。
引数の文字セットには DDP通信
で認識結果チャンクを取得した際のレスポンスの Content-Type に指定された文字セットを指定してください。
data
- 認識結果チャンクを指定します。charSet
- 文字セットを指定します。
NullPointerException
- 認識結果チャンクに null が指定された場合に発生します。
NullPointerException
- 文字セットに null が指定された場合に発生します。
IllegalStateException
- このインスタンスが利用不能状態の場合に発生します。
IllegalArgumentException
- 認識結果チャンクがフォーマット不正の場合に発生します。
IllegalArgumentException
- 未対応の文字セットが指定された場合に発生します。
DeviceException
- リソース不足により認識結果チャンクの解析を行うことができない場合に発生します。(NO_RESOURCES)