Logo

C SDK

SDKを使用する前に、まずインターフェイスプロトコルを読んでください。詳細についてはインターフェイスプロトコルを参照してください。

SDK Demoの使い方

SDKはWindows/Linuxバージョンに分かれ、各システムにはx86/x64ビットのライブラリ(libsディレクトリに格納されています)が含まれており、各プラットフォームでの実行には各プラットフォーム向けのrunスクリプトを使用します。

  • Windows-x86 : run-x86.bat
  • Windows-x64 : run-x64.bat
  • Linux-x86 : run-x86.sh
  • Linux-x64 : run-x64.sh

g++でコードをコンパイルするときに、-lasrを使用して必要なライブラリを指定する必要があります。

重要なインタフェースの説明

関数名パラメータ説明
getAsrVersion無しSDKのバージョン番号を取得する
asrGetTokenchar* appId : appId, char* appSecret : appSecrettokenを取得し、JSON形式で返す。:
{"status":"00000","message":"success","data":{"app_id":"string","token":"string","expiration_time":1686622013}}
expiration_timeはtokenの有効期限であり、有効期限が切れる前にトークンは再利用可能です
使用する際に、data.tokenを抽出して対応するインタフェースに渡す必要があります
getAsrParams無し識別パラメータを取得し、AsrParams構造体の説明を参照してください
startRecognizechar* token: asrGetTokenインタフェースを通じて取得します
AsrParams params: 識別パラメータです。AsrParams構造体の説明を参照してください
RecognizerListener listener: 識別コールバックです。RecognizerListener構造体の説明を参照してください
一句の認識を開始します。
asrFeedchar* taskId: onStartが返すtaskId、char* data: 音声データです
int length : 配列の長さです。
音声データの送信は、listenerのonStartコールバックで何回も呼び出す必要があります。
stopRecognize無し一句の認識を停止します。

AsrParams構造体

フィールド定義説明必須かデフォルト値
const char *langType言語を識別するはい無し
const char *format音声形式いいえpcm
int sampleRate音声サンプリングレートいいえ16000
bool enableIntermediateResult中間認識結果の返却が有効かどうか、有効にするとListenerのonIntermediateResult関数で中間認識結果が返されますいいえfalse
bool enablePunctuationPrediction後処理に標点を追加するかどうかいいえfalse
bool enableInverseTextNormalization後処理でITNを実行するかどうかいいえfalse
int maxSentenceSilence音声の断句検出しきい値です。シルエット時間がこのしきい値を超えると断句とみなされます
合法なパラメータ範囲は200~1200で、単位はミリ秒です
いいえ450
bool enableWords単語情報を返すかどうかいいえfalse
bool enableModalParticleFilter語気詞を取り除くかどうかいいえfalse
const char *hotwordsId単語IDいいえ無し
float hotwordsWeight単語ウェイト、取りうる範囲は[0.1, 1.0]ですいいえ0.4
const char *correctionWordsId強制的に置換する単語リストのIDいいえ無し
const char *forbiddenWordsId敏感詞IDいいえ無し

RecognizerListener構造体

関数の定義説明
void (*onStart)(const char *taskId)開始認識コールバックです。コールバック内でfeedを呼び出して音声データを送信する必要があります
void (*onIntermediateResult)(const char *taskId, int index, const char *msg)中間結果コールバックです。まず、パラメータでenableIntermediateResulttrueに設定してください
void (*onResult)(const char *taskId, const char *msg)認識結果コールバックです。認識が終了した後、最終的な認識結果を返します
void (*onStop)(const char *taskId)認識停止コールバックです
void (*onError)(const char *taskId, const char *code, const char *msg)認識エラーコールバックです。codeはエラーコード、msgはエラーメッセージです
void (*onWarning)(const char *taskId, const char *code, const char *msg)認識警告コールバックです。codeはエラーコード、msgはエラーメッセージです
void (*onGetVolume)(const char *taskId, float volume)リアルタイム音量コールバックです

サンプルコード

asr-demo.cppを参照してください

状態コード一覧

エラーコードエラーメッセージ説明解決策
110002Unauthorized認証されてない引数を既に承認された能力に変更するか、ビジネス担当者に連絡してAI能力を追加することをお勧めします
110003APP ID ExpiredAPP ID過期ビジネス担当者に連絡してappidの有効期間を延長することをお勧めします
110004Calling Quota Exceeded呼び出し超過ビジネス担当者に連絡して承認期間または回数を増やすことをお勧めします
110010Online Capabilities Not Authorizedオンライン能力が承認されていませんビジネス担当者に連絡してオンライン能力の承認を追加してください
120000Network Errorネットワークエラーですデバイスのネットワーク接続状況を確認します
200000Invalid Parameterパラメータが不正確ですパラメータを確認します(規定のパラメータが渡されていない、または誤ったものまたは空文字列が渡されている場合)
210203Invalid Number Of Channels音声チャンネル数が不正確です音声のチャンネル数を確認します(WAV音声のチャンネル数が1でない場合))
210000Gateway Timeout In Receiving Dataゲートウェイがデータを受信する際にタイムアウトしましたデータが正常に送信されているかを確認します
210100Invalid Calling Sequence呼び出し順序が不正確です通常の順序で呼び出します