Logo
リアルタイム音声認識

H5/JS SDK

注意:

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

1 ブラウザー互換性

オペレーティングシステムサポートされているブラウザーの最低版
ChromeFirefox
Windows 741.0.2272.7646
Windows 10/1143.0.2357.8146
MAC OS43.0.2357.8146

2 導入

<!-- 【1.1】オーディオフォーマットmp3は録音コアファイルを導入する必要があるが、オーディオフォーマットpcmは導入する必要がない。 -->
<script type="text/javascript" src="static/recorder/recorder.min.js"></script>

<!-- 【1.2】SDKコアファイルの導入 -->
<script type="text/javascript" src="sdk/AsrSDK.min.js"></script>

3 パラメーターの設定

1.エンジンパラメータ

(1)パラメータインスタンス

  • app_id と secret を設定する

    • ユーザーバックグラウンドのapp_idとsecretに移動してください
  • 署名(signature)と時間軸(timestamp)

    • ユーザーはインターフェースを呼び出してtimestampとsignatureを取得します
  • 能力パラメーターengineを設定する

    • リアルタイム音声認識:“SpeechTranscriber” (デフォルト)
    • 一言認識:“SpeechRecognizer”
  • 認識参数を設定する

    • JSONを用いてpayloadフィールドに認識パラメーターを設定してください
    • パラメーターが不足しているか、範囲外の値が割り当てられている場合、onErrorコールバックでエラーコードとエラーメッセージが返されます
パラメータタイプ必須説明デフォルト値
lang_typeStringはい言語オプション必須
formatStringいいえ音声エンコード形式pcm
sample_rateIntegerいいえ音声サンプルレート
sample_rate=「8000」の場合
fieldパラメータ・フィールドが必須で、かつfield=「call-center」
16000
enable_intermediate_resultBooleanいいえ中間認識結果を返すかどうかtrue
enable_punctuation_predictionBooleanいいえ後処理で句読点を追加するかどうかtrue
enable_inverse_text_normalizationBooleanいいえ後処理でITNを実行するかどうかtrue
max_sentence_silenceIntegerいいえ音声センテンスのサイレンス検出しきい値、サイレンス時間がこのしきい値を超えるとセンテンスが切り替えられます。有効なパラメータ範囲は200~1200で、単位はミリ秒ですsample_rate=16000:800
sample_rate=8000:250
enable_wordsBooleanいいえ単語情報を返すかどうかfalse
enable_intermediate_wordsBooleanいいえ中間結果の単語情報を返すかどうかfalse
enable_modal_particle_filterBooleanいいえ語気詞フィルタを有効にするかどうかtrue
hotwords_listList<String>いいえ一度限り有効な単語リスト、本接続中のみ有効です
hotwords_id と同時に存在する場合は、hotwords_list が優先されます。一度に最大 100 個まで提供可能です
無し
hotwords_idStringいいえ単語ID無し
hotwords_weightFloatいいえ単語ウェイト、値の範囲[0.1, 1.0]0.4
correction_words_idStringいいえ強制置換単語庫ID
複数の強制置換単語庫IDを使用することができ、各IDは縦線|で区切られます;all は全ての強制置換単語庫IDを使用することを意味します。
無し
forbidden_words_idStringいいえNG単語ID
複数のNG単語IDを使用することができ、各IDは縦線|で区切られます;all は全てのNG単語IDを使用することを意味します。
無し
fieldStringいいえ分野
一般:general (サポートサンプルレート16000Hz)
コールセンター:call-center (サポートサンプルレート8000Hz)
無し
audio_urlStringいいえ戻り音声のフォーマット(プラットフォームでは30日間のみ保存)
mp3:mp3形式の音声リンクを返す
pcm:pcm形式の音声リンクを返す
wav:wav形式の音声リンクを返す
無し
connect_timeoutIntegerいいえ接続タイムアウト(秒)、範囲:5-6010
gainIntegerいいえ振幅増幅係数を表し、範囲[1, 20]
1は拡大しないことを示し、2は元の振幅の2倍(拡大1倍)を示し、以下同様
sample_rate=16000:1
sample_rate=8000:2
max_suffix_silenceFloatいいえ音声ポストミュート検出しきい値(秒) 範囲 0-10;ミュート時間がこの閾値を超えると、認識は自動的に終了する。 パラメータ値が0を超えるか、このパラメータを超えない場合、ポストミュート検出機能は有効になりません。特殊なケース:-1が渡された場合、発話が停止されると認識は即座に停止する。0
user_idStringいいえユーザーが定義した情報で、応答メッセージにそのまま返され、最大36文字までです無し
enable_save_logBooleanいいえ音声データと認識結果のログを提供して、弊社が製品とサービスの質を向上させるために使用することは可能ですかtrue

例(方法1、推奨):バックグラウンドからtimestamp、signatureを取得します

new AsrEngine({
    engine: '',
    app_id: '',
    signature : '',
    timestamp : 1234567890,
    payload: {
      lang_type: 'ja-JP',
      format: 'pcm',
      sample_rate: 16000,
      enable_intermediate_result : true,
      enable_punctuation_prediction : true,
      enable_inverse_text_normalization : true,
      enable_words : true,
    }
})

例(方法2、セキュリティが不安):secretをフロントエンドに書き込み、フロントエンドでsignatureを生成します

new AsrEngine ({
    engine: '',
    app_id: '',
    secret : '',
    payload: {
      lang_type: 'ja-JP',
      format: 'pcm',
      sample_rate: 16000,
      enable_intermediate_result : true,
      enable_punctuation_prediction : true,
      enable_inverse_text_normalization : true,
      enable_words : true,
    }
})

2.マイクの方法

(1)パラメーターの設定

名称タイプ説明デフォルト値
micAllowCallbackFunctionマイクの許可コールバックメソッド無し
micForbidCallbackFunctionマイクの拒否コールバックメソッド無し

(2)パラメーターのインスタンス

new AsrEngine ({ 
    micAllowCallback:function(){},
    micForbidCallback:function(status,msg){} 
})

3.初期化メソッド

(1)パラメーターの設定

名称タイプ説明デフォルト値
engineFirstInitDoneFunction初期化成功コールバックメソッド無し
engineFirstInitFailFunction初期化失敗コールバックメソッド無し

(2)パラメーターのインスタンス

new AsrEngine ({
    engineFirstInitDone:function(){},
    engineFirstInitFail:function(status,msg){} 
})

4.認識結果の戻り

(1)パラメーターの設定

名称タイプ説明デフォルト値
onStartFunctionエンジン接続開始のコールバックメソッド無し
onSentenceBeginFunctionエンジンが開始結果を戻すコールバックメソッド,注:リアルタイム音声認識のみに適用無し
onIntermediateResultFunctionエンジンが中間結果を戻すコールバックメソッド無し
onSentenceEndFunctionエンジンが一つの文の終わりの結果を戻すコールバックメソッド,注:リアルタイム音声認識のみに適用無し
onStopFunctionエンジン接続終了のコールバックメソッド,注:リアルタイム音声認識のみに適用無し
onResultFunctionエンジンが一つの文の終わりの結果を返すコールバックメソッド,注:一言認識のみに適用無し
onWarningFunctionエンジンが結果警告を戻すコールバックメソッド無し
onErrorFunctionエンジンが結果エラーを戻すコールバックメソッド無し

説明:onErrorエラーコールバックを受け取った場合、自動的に認識を停止して接続を切断しますので、stopAsr()メソッドを再度呼び出す必要はありません。

(2)パラメーターのインスタンス

new AsrEngine ({
    onStart: function (data,taskId){},
    onSentenceBegin: function (data,taskId){},
    onIntermediateResult: function (data,taskId){},
    onSentenceEnd: function (data,taskId) {},
    onStop: function (data,taskId) {},
    onResult: function (data,taskId) {},
    onWarning:function(status,msg,taskId){},
    onError:function(status,msg,taskId){}
})

5.ネット

(1)パラメーターの設定

名称タイプ説明デフォルト値
onNetworkErrorFunctionネットワーク監視コールバック無し

説明:onNetworkErrorエラーコールバックが受信されたときに、自動的に認識を停止して接続を切断するため、stopAsr()メソッドを呼び出す必要はありません。

(2)パラメーターのインスタンス

new AsrEngine ({ 
    onNetworkError:function(status,msg){},
})

4 メソッドの呼び出し

4.1 startAsr()

機能:認識を開始します;

4.2 stopAsr()

機能:認識を停止します;

4.3 sentenceEnd()

機能:強制的に文を区切ります;

説明:このメソッドはリアルタイム音声認識のみで使用されます。

4.4 speakerStart(speaker_id)

機能:話者の番号をカスタマイズします;

説明:このメソッドはリアルタイム音声認識のみで使用されます;

パラメーター:@speaker_id カスタマイズされた話者の番号の値、文字列型

注意:

speaker_idは最大36文字をサポートしており、超える部分は切り捨てられます。 SpeakerStartイベントにspeaker_idパラメーターが渡されなければ、戻り値のspeaker_idは空になります。 SpeakerStartイベントは強制的な文区切りをトリガーします。したがって、話者が変わる前に一度だけSpeakerStartイベントを送信してください。

4.5 cancelAsr()

機能:認識をキャンセルします;

4.6 destroyAsr()

機能:インスタンスを破棄します;

5 SDKダウンロード

H5 SDK