#include <mw/asr/asr.h> s16 RecogFrame( s16 *framePtr, u16 frameSize );
名前 | 説明 | |
---|---|---|
in | framePtr | 1フレーム分のPCM音声データへのポインタ。 |
in | frameSize | 音声データサイズ(ワード単位)を指定します。 |
ASR_NO_ERROR | 呼出し成功、音声入力無し、認識結果なし。 |
ASR_RECOG_STARTED | 呼出し成功、音声入力あり、認識結果なし。 |
1 ~ 10 | 呼出し成功、認識結果あり。 |
ASR_ERROR_INTERNAL | エンジン初期化前呼出し、または内部エラー。 |
ASR_ERROR_OFFTIMEOUT | 無音声タイムアウト(音声入力が所定時間無かった)。 |
ASR_ERROR_ONTIMEOUT | 有音声タイムアウト(音声入力が所定時間以上あった)。 |
ASR_ERROR_TOO_LOUD | 初期入力音声が大きすぎる(喋りだしが早すぎる)。 |
音声フレームデータ(フレームサイズは可変:128ポイント以上)を取り込み、認識処理を行います。
1~10が返された時は認識が完了し、その数だけ認識結果がありますので、
GetCandidateWord 関数, GetCandidateScore 関数
で結果を取得してください。
RecogStart 関数実行後、無音や雑音などの無効な音声データが入力されている間、ASR_NO_ERRORを返します。
有効な音声データが入力され、認識処理が開始されると、認識処理が終了するまでASR_RECOG_STARTEDを返します。
第2引数(frameSize)を0にして本APIを呼ぶと、音声終端の検出を待たずに認識結果を得ることができます(通常はSetParam 関数で設定した音声終端検出時間後に結果が得られます)。
例えば、ユーザによるボタン押下時に0サイズフレームを入力して、音声終端判断を待たずに認識処理を終了させるような使い方が可能です。
本関数が返す候補数は、音声の状況によって変化しますが、SetParam 関数で設定した候補数以上の値を返すことはありません。