AmiVoice® Robot SDK  0.9.10
IHandsfreeControlBase クラスabstract
IHandsfreeControlBase の継承関係図
IHandsfreeControl IHandsfreeControlOutputStream

公開メンバ関数

virtual bool VOICE_RECOGNIZER_API_CALL setup ()=0
 
virtual bool VOICE_RECOGNIZER_API_CALL start ()=0
 
virtual bool VOICE_RECOGNIZER_API_CALL stop ()=0
 
virtual void VOICE_RECOGNIZER_API_CALL cancel ()=0
 
virtual int VOICE_RECOGNIZER_API_CALL getUtteranceLength (bool asTime)=0
 
virtual bool VOICE_RECOGNIZER_API_CALL recognizeRestUtterance (IVoiceRecognizerOutputStream *recognizer)=0
 
virtual int VOICE_RECOGNIZER_API_CALL getUtteranceAudioData (char *buffer)=0
 

公開変数類

VOICE_RECOGNIZER_COMPLETE complete
 認識結果終了イベント関数の型 [詳解]
 
VOICE_RECOGNIZER_UPDATED updated
 認識処理中イベント関数の型 [詳解]
 
VOICE_RECOGNIZER_UTTERANCE utterance
 発話検出/終話検出イベント関数の型 [詳解]
 
const TCHAR * serviceId
 
const TCHAR * servicePassword
 
const TCHAR * licensePath
 
const TCHAR * enginemodePath
 
const char ** triggerWords
 
const TCHAR * segmenterType
 
const TCHAR * segmenterProperties
 
float confidenceLevel
 
float speedVsAccuracy
 
const char * confPath
 
bool outputDebugLog
 
const TCHAR * audioLogFilename
 
int updatedInterval
 
float wildcardModelPenalty
 

詳解

IHandsfreeControlBase

"Ok Google / Hey Siri"のようにデバイスに呼びかける単語(トリガーワード)を認識するためのベースクラス。

関数詳解

◆ cancel()

virtual void VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::cancel ( )
pure virtual

cancel() 音声認識をキャンセルします。キャンセル後に認識結果がかえってくる事は有りません。 エラーが発生した場合は認識結果終了イベントがコールされます。

◆ getUtteranceAudioData()

virtual int VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::getUtteranceAudioData ( char *  buffer)
pure virtual

getUtteranceAudioData トリガーワードを認識した際のトリガーワード以降の音声データを取得します このAPIは以下のように2段階で呼んでください。

  1. int bufferLengrh = getUtteranceLength(false);
  2. char* buffer = (char*)malloc(bufferLengrh);
  3. getUtteranceAudioData(buffer);
    引数
    buffer音声が書き込まれるバッファ
    戻り値
    書き込まれたデータサイズ

◆ getUtteranceLength()

virtual int VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::getUtteranceLength ( bool  asTime)
pure virtual

getUtteranceLength() トリガーワード+自由文の言い回しで発話された場合に自由文の発話分の長さを返します。

引数
asTimetrue:長さをミリ秒で返します。 false: 長さをバイト数で返します。
戻り値
トリガーワード以外の発話の長さを返します。

◆ recognizeRestUtterance()

virtual bool VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::recognizeRestUtterance ( IVoiceRecognizerOutputStream recognizer)
pure virtual

recognizeRestUtterance() 発話の残り音声を認識します。

引数
recognizerIVoiceRecognizerOutputStreamのインスタンス
戻り値
true: サーバー認識が起動した false:サーバー認識できなかった

◆ setup()

virtual bool VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::setup ( )
pure virtual

setup() 音声認識エンジンを初期化します。プロパティ値は setup() 前に全てセットしておく必要があります。 エラーが発生した場合は認識結果終了イベントがコールされます。

戻り値
true:初期化に成功 false: 初期化に失敗。

◆ start()

virtual bool VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::start ( )
pure virtual

start() 音声認識を開始します。 エラーが発生した場合は認識結果終了イベントがコールされます。

戻り値
true:音声認識の開始に成功 false: 音声認識の開始に失敗。

◆ stop()

virtual bool VOICE_RECOGNIZER_API_CALL IHandsfreeControlBase::stop ( )
pure virtual

stop() 音声認識を停止します。音声認識停止後に認識結果がかえってくる事があり得ます。 エラーが発生した場合は認識結果終了イベントがコールされます。

戻り値
true:音声認識の停止に成功 false: 音声認識の停止に失敗。

メンバ詳解

◆ audioLogFilename

const TCHAR* IHandsfreeControlBase::audioLogFilename

デバッグ用に音声データをテンポラリディレクトリに出力するためのファイル名を指定します。 例: /tmp/audio.wavを出力する場合には、"audio"を指定します。

◆ complete

VOICE_RECOGNIZER_COMPLETE IHandsfreeControlBase::complete

認識結果終了イベント関数の型

認識結果終了イベントを取得する関数ポインタを設定します。
void(VOICE_RECOGNIZER_API_CALL * VOICE_RECOGNIZER_COMPLETE)(const void *, const char *);

引数
instanceイベントが発生したインスタンス(IVoiceRecognizerのインスタンスの識別などに使用します)
json認識結果/エラーをjson形式で示します。 jsonのフォーマットについては 認識結果終了イベントについて を参照してください。

◆ confidenceLevel

float IHandsfreeControlBase::confidenceLevel

音声認識結果の信頼度の閾値を設定します(0.0 - 1.0 の間)。設定値以上の信頼度の場合、認識成功となります。 デフォルトは、0.2です。

◆ confPath

const char* IHandsfreeControlBase::confPath

端末識別用のID値などを保存するパスを設定します

  • デフォルトではHOMEディレクトリ/Handsfree.confとなります
  • 端末識別用IDが保存されませんと認識ができなくなったり、サーバー使用時間の カウントが正常にできなくなり、過請求される可能性もございますので、 設定される場合には必ず実装されるユーザーの権限で書き込み可能なパスを設定して いただくようお願い致します。
  • 開発用の端末などを変更する場合は、Handsfree.confをコピーしていただくよう お願い致します。

◆ enginemodePath

const TCHAR* IHandsfreeControlBase::enginemodePath

ハンズフリーコントロール用認識エンジンモードファイル(通常は/AmiCarMobile16k/recognizer.xc) を配置したディレクトリパスを設定します。 例: enginemodePath = "/opt/HandsfreeControl/AmiCarMobile16k/recognizer.xc" エンジンモードファイルについては、5.エンジンモードファイルについて を参照してください。

◆ licensePath

const TCHAR* IHandsfreeControlBase::licensePath

ライセンスファイルへのパスを指定します https://storagedl.amivoice.com/relmanager/index.htmlよりダウンロード取得してください。

◆ outputDebugLog

bool IHandsfreeControlBase::outputDebugLog

デバッグ用などに音声認識ライブラリを標準出力に出力します 認識結果が出力されないなどの原因調査が必要な場合などにtrueを設定します。

◆ segmenterProperties

const TCHAR* IHandsfreeControlBase::segmenterProperties

VAD(音声切出器)のパラメータを設定します 音声の頭や語尾がうまくテキストに変換できない場合に弊社にご相談ください。

別途有料のコンサルティング契約を締結した後、 弊社から適切なパラメータをご連絡し、その値を設定します。

◆ segmenterType

const TCHAR* IHandsfreeControlBase::segmenterType

VAD(音声切出器)のタイプを設定します。 現在のSDKでは"G4"固定となります。

◆ serviceId

const TCHAR* IHandsfreeControlBase::serviceId

ハンズフリーコントロール用のサービスID AmiVoice Robot SDKのサイト(https://robotsdk.amivoice.com/)より取得してください。

◆ servicePassword

const TCHAR* IHandsfreeControlBase::servicePassword

ハンズフリーコントロール用のサービスパスワード AmiVoice Robot SDKのサイトより取得してください。

◆ speedVsAccuracy

float IHandsfreeControlBase::speedVsAccuracy

音声認識エンジンが速度と精度のどちらをどの程度優先して認識処理を行なうかを設定します(0.0 - 1.0 の間)。 0.0 に近ければ近いほど速度優先となり、1.0 に近ければ近いほど精度優先となります。 デフォルトは、0.5です。

◆ triggerWords

const char** IHandsfreeControlBase::triggerWords

認識するトリガーワードの配列(UTF-8)

  • トリガーワードは10ワードまで指定可能です。 配列内部の文字列は、全角ひらがなのみ指定可能です。
  • 指定する配列の最後には終端を表すため以下のようにNULLを指定してください。
  • triggerWords[0] = "トリガーいち"; triggerWords[1] = "トリガーに"; ... triggerWords[N+1] = NULL;

triggarWordsの表記に関しては トリガーワードの読みの表記についてを参照

◆ updated

VOICE_RECOGNIZER_UPDATED IHandsfreeControlBase::updated

認識処理中イベント関数の型

認識処理中イベントを取得する関数ポインタを設定します。
void(VOICE_RECOGNIZER_API_CALL * VOICE_RECOGNIZER_UPDATED)(const void *, const char *);

引数
instanceイベントが発生したインスタンス(IVoiceRecognizerのインスタンスの識別などに使用します)
json認識処理中結果/エラーをjson形式で示します。

◆ updatedInterval

int IHandsfreeControlBase::updatedInterval

認識中イベントの発行間隔を設定します 0 認識中イベントを発行しません。 >0 指定された時間の音声データを認識処理する毎に認識中イベントを発行します。 認識中イベントは、実際に経過した時間に応じて発行されるのではなく、認識処理された音声データの処理量に応じて発行されます。 100 未満の端数を含む値が指定された場合は、100 の倍数に切り上げた値が指定されたものとして扱います。

◆ utterance

VOICE_RECOGNIZER_UTTERANCE IHandsfreeControlBase::utterance

発話検出/終話検出イベント関数の型

発話検出/終話検出イベントを取得する関数ポインタを設定します。
void(VOICE_RECOGNIZER_API_CALL * VOICE_RECOGNIZER_UTTERANCE)(const void *, bool);

引数
instanceイベントが発生したインスタンス(IVoiceRecognizerのインスタンスの識別などに使用します)
utterancetrue: 発話検出 false: 終話検出

◆ wildcardModelPenalty

float IHandsfreeControlBase::wildcardModelPenalty

発話をどの程度 wildcard に合致させやすくするかを指定します。 値の指定可能範囲はおおよそ 2.0~6.0 で、小さければ小さいほど発話は wildcard に合致しやすくなり、 大きければ大きいほど発話は wildcard に合致しにくくなります。 0 音声認識エンジンモード固有の初期値で認識させます。


このクラス詳解は次のファイルから抽出されました: