Logo

C SDK

注意:

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

1 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を使用してロードする必要があるライブラリを指定します。

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

関数名パラメータ説明
getAsrVersion無しSDKのバージョン番号を取得する
asrGetTokenchar* appId : appId, char* appSecret : appSecret , bool proEnvironment : 本番環境かどうかトークンを取得し、JSON形式で返す:
{"status":"00000","message":"success","data":{"app_id":"string","token":"string","expiration_time":1686622013}}
expiration_timeはトークンの有効期限であり、有効期限が切れる前にトークンは再利用可能です
使用する際に、data.tokenを抽出し、対応するインタフェースに渡す必要があります
getAsrParams無し認識パラメータを取得し、AsrParams構造体の説明を参照してください
startTranscribechar* token : asrGetTokenインタフェースを通じて取得します
AsrParams params : 認識パラメータは、AsrParams構造体の説明を参照してください
TranscriberListener listener : 認識コールバックは、TranscriberListener構造体の説明を参照してください
リアルタイム認識を開始する
asrFeedchar* taskId : onStartが返すtaskId, char* data : 音声データ
int length : 配列の長さ
音声データを送信するには、listenerのonStartコールバックで何回も呼び出す必要があります
stopTranscribe無しリアルタイム認識を停止する
sentenceEndchar* taskId強制断句(リアルタイム認識のみ有効)
speakerStartchar* taskId , char* speakerIdカスタムの話者番号(リアルタイム認識のみ有効)

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
複数の強制置換単語庫IDを使用することができ、各IDは縦線|で区切られます;allは全ての強制置換単語庫IDを使用することを意味します。
いいえ無し
const char *forbiddenWordsIdNG単語ID
複数のNG単語IDを使用することができ、各IDは縦線|で区切られます;allは全てのNG単語IDを使用することを意味します。
いいえ無し

TranscriberListener構造体

関数定義説明
void (*onStart)(const char * taskId)開始認識コールバックは、コールバックからfeedを呼び出して音声データを送信する必要があります
void (*onSentenceBegin)(const char * taskId, const char *msg)文の開始コールバック
void (*onSentenceEnd)(const char * taskId, const char *msg)文の終了コールバック
void (*onIntermediateResult)(const char * taskId,int index, const char *msg)中間結果コールバックは、まずパラメータでenableIntermediateResulttrueに設定する必要があります
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)リアルタイム音量コールバック

3 サンプルコード

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

4 状態コード表

エラーコードエラーメッセージ説明解決策
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呼び出し順序が不正確です通常の順序で呼び出してください