HTTP / WebSocket Service

この項では言語識別の HTTP / WebSocket API について述べます。

接続情報

URL: https://service.mimi.fd.ai
URL: wss://service.mimi.fd.ai

概要

言語識別の API は HTTPWebSocket でリクエストできます。

言語識別のサービスは以下に大別できます。

  • 言語識別と同時に音声認識を行う
  • 言語識別のみを行う

どのサービスをどのように利用するかを、言語識別要求時のパラメータとして HTTP リクエストヘッダで送ります。

言語識別にあわせて別のサービス(音声認識、話者識別)を利用する場合は、各サービスのドキュメントを事前に参照ください。

言語識別サービスをご利用の際に指定できるサービスの種類とその指定ルールについては、サービス対応表 を参照ください。

📘

ポイント

言語識別と同時に音声認識を行う場合( mimi が定義するカスタム HTTP ヘッダ x-mimi-processlidasr を指定する場合)音声認識サービスに mimi ASR powered by NICT を使用します。

認証

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

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

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

API Reference

言語識別 API の詳細な情報については、API Reference 言語識別を行う を参照ください。

〜 言語識別とあわせて音声認識を利用する場合 〜
音声認識 API の詳細な情報については、API Reference 音声認識( mimi ASR powered by NICT API )を行う を参照ください。

実行(lidasr)

以下は cURL を使用した HTTPサービスの利用例です。
詳細については "API Reference"  を参照ください。

実行例

リクエストヘッダ x-mimi-process にて lidasr を指定することで言語識別と音声認識を利用することができます。

curl -X POST https://service.mimi.fd.ai \
-H "Content-Type: audio/x-pcm;bit=16;rate=16000;channels=1" \
-H "x-mimi-process:lidasr" \
-H "x-mimi-lid-options:lang=ja|en|zh|ko" \
-H "Authorization: Bearer <accessToken>" \
--data-binary @/path/to/audio.raw

応答例

入力された音声で発話された言語が何語かを識別し、最も信頼度の高い言語で音声認識を行った上で、言語識別・音声認識双方の結果を返却します。

識別範囲はリクエスト時の x-mimi-lid-options の指定によって異なります。未指定の場合は、デフォルト 4 言語における言語識別を行い「応答例1」のようなレスポンスとなります。最大 8 言語の指定が可能であるため、x-mimi-lid-options:lang=lang=ja|en|zh|ko|vi|th|id|my と指定した場合は「応答例2」のように 8 言語における信頼度を返します。

{ # 言語識別結果
  "session_id": "f527b53f-cfd7-4665-b5e6-3f2272f4ab6f",
  "status": "recog-finished",
  "type": "lid#ja|en|zh|ko",
  "response": [
    {
      "lang": "ja",
      "score": 0.621718
    },
    {
      "lang": "ko",
      "score": 0.327522
    },
    {
      "lang": "zh",
      "score": 0.040102
    },
    {
      "lang": "en",
      "score": 0.010658
    }
  ]
}
{  # 音声認識結果 
  "lang": "ja",  # 最も信頼度( score )の高い日本語で音声認識が実行される
  "type": "asr#nictlvcsr",
  "session_id": "491a1e08-ac79-11ea-9708-42010a920022",
  "status": "recog-finished",
  "response": [
    {
      "result": "とりあえず|トリアエズ|とりあえず|副詞-助詞類接続||||"
    },
    {
      "result": "腹ごしらえ|ハラゴシラエ|腹ごしらえ|名詞-一般||||"
    },
    {
      "result": "|||SENT-START-END||||"
    },
    {
      "result": "|||UTT-END||||"
    }
  ]
}
{
  "session_id": "f527b53f-cfd7-4665-b5e6-3f2272f4ab6f",
  "status": "recog-finished",
  "type": "lid#ja|en|zh|ko|vi|th|id|my",
  "response": [
    {
      "lang": "ja",
      "score": 0.666491
    },
    {
      "lang": "ko",
      "score": 0.127522
    },
    {
      "lang": "zh",
      "score": 0.070241
    },
    {
      "lang": "en",
      "score": 0.060658
    },
    {
      "lang": "my",
      "score": 0.059812
    },
    {
      "lang": "th",
      "score": 0.009274
    },
    {
      "lang": "id",
      "score": 0.00335
    },
    {
      "lang": "vi",
      "score": 0.002652
    }
  ]
}
{
  "lang": "ja",
  "type": "asr#nictlvcsr",
  "session_id": "491a1e08-ac79-11ea-9708-42010a920022",
  "status": "recog-finished",
  "response": [
    {
      "result": "とりあえず|トリアエズ|とりあえず|副詞-助詞類接続||||"
    },
    {
      "result": "腹ごしらえ|ハラゴシラエ|腹ごしらえ|名詞-一般||||"
    },
    {
      "result": "|||SENT-START-END||||"
    },
    {
      "result": "|||UTT-END||||"
    }
  ]
}

実行(lid)

実行例

リクエストヘッダ x-mimi-process にて lid を指定することで言語識別のみを実行します。 lidasr とは異なり、音声認識を実行しません。 入力された音声で発話されている言語が何語かを識別し、その結果だけを返します。

curl -X POST https://service.mimi.fd.ai \
-H "Content-Type: audio/x-pcm;bit=16;rate=16000;channels=1" \
-H "x-mimi-process:lid" \
-H "x-mimi-lid-options:lang=ja|en|zh|ko|vi|th|id|my" \
-H "Authorization: Bearer <accessToken>" \
--data-binary @/path/to/audio.raw

応答例

リクエストヘッダ x-mimi-lid-options の指定を元に、各言語の信頼度を返します。

{
  "session_id": "45067366-100f-4013-ace3-2e758d3d72d0",
  "status": "recog-finished",
  "type": "lid#ja|en|zh|ko|vi|th|id|my",
  "response": [
    {
      "lang": "ja",
      "score": 0.721541
    },
    {
      "lang": "en",
      "score": 0.083159
    },
    {
      "lang": "ko",
      "score": 0.077678
    },
    {
      "lang": "zh",
      "score": 0.059331
    },
    {
      "lang": "my",
      "score": 0.049703
    },
    {
      "lang": "th",
      "score": 0.004632
    },
    {
      "lang": "id",
      "score": 0.002605
    },
    {
      "lang": "vi",
      "score": 0.001349
    }
  ]
}