WebSocket Service

この項では話者識別の WebSocket API について述べます。

📘

事前準備について

話者識別サービスを利用するには、事前に準備が必要です。
どのような準備が必要であるかを含め、話者識別サービス利用についての全体像の理解には話者識別サービスの概要 を参照ください。

接続情報

URL: wss://srs.mimi.fd.ai/v1/identify

概要

事前準備が整っている時、話者識別の WebSocket API では話者識別サービスが利用できます。
話者識別サービス API のプロトコルは HTTP および WebSocket です。

話者識別は入力音声に対して、リクエストで指定した話者グループに属する話者についての信頼度を推定します。

実行結果は JSON 形式で返されます。
その JSON 形式の応答の構成、結果は実行する API によって異なります。
詳しくは後述の "API Reference" および "応答例" を参照ください。

入力音声が極端に短い場合には、不正なデータとみなされエラーとなります。

mimi の WebSocket API サービス利用について詳しくは mimi WebSocket API サービス を参照ください。

認証

WebSocket APIサービスをご利用の際には実行したいサービスに対応するスコープ( スコープ一覧 )を指定して発行したアクセストークンが必要です。
mimi APII Console 画面からの操作で取得するには トークンの取得 を参照ください。
API の実行で取得するには 認証/認可操作 を参照ください。

クエリ文字列でのリクエスト

ブラウザ上で WebSocket API を利用する場合等、 HTTP ヘッダを使った実行時設定の指定ができない場合は、 HTTP ヘッダの代わりにクエリ文字列を使って実行時設定を指定することができます。
クエリ文字列による HTTP ヘッダの代替 の記述を参照ください。

API Reference

話者識別に関する各種 API の詳細な情報については、以下のドキュメントおよび API Reference を参照ください。

事前に必要な各種操作の API

話者識別サービス利用の API

実行

ここでは、事前準備が整っている前提で話者識別サービスリクエストを実行する場合の実行例について説明します。

📘

準備からの実行例と応答例

事前準備から話者識別サービス利用まで、一連の流れの実行例 および 応答例については 初めてのAPI実行 - 6. 話者識別 を参照してください。

以下は mimi.example.python の mimi SRS サンプルスクリプト srs_stream_file.py を使用した WebSocket サービスの利用例です。

実行例

下記のタブで mimi SRS の実行例を確認できます。

# mimi SRS の応答を得ます。
# リクエストヘッダ `x-mimi-speaker-group-id` は、srs_stream_file.py では `--speaker-group-id` オプションで指定します。
# `<speakerGroupId>` は、適宜、ご利用環境にある "話者識別実行対象の話者グループ ID" に置き換えてください。
python3 srs_stream_file.py token.txt audio.raw --speaker-group-id <speakerGroupId>

応答例

以下は、mimi SRS の応答例とその構成内容についての簡易な説明です。
応答結果の詳細については "API Reference" を参照してください。

# 応答 JSON の要素
#   "status" : 話者識別のステータス,
#   "type" : 話者識別の型,
#   "response" : 話者識別結果の応答配列(結果は配列で返されます)
#       "speaker" : 話者
#           "confidence" : 信頼度。大きいほど信頼度が高い。
#           "speaker_id" : 話者ID
#   "session_id" : セッションID
#

{
  "status": "recog-finished",
  "type": "srs#identification#<speakerGroupId>",
  "response": {
    "speaker": [
      {
        "confidence": 0.73504,
        "speaker_id": "<speakerId>"
      },
      {
        "confidence": 0.26496,
        "speaker_id": ""
      }
    ]
  },
  "session_id": "22947a94-ffb2-11ef-ace2-42010a92001b"
}
⚠️

サードパーティの WebSocket ライブラリを使う場合の注意

  • 現時点では、 mimi サーバーは RFC6455 の 5.4 項の Fragmentation に対応しておりません。クライアントは fragmented frames を送信しないでください。

Did this page help you?