音声認識( mimi ASR powered by NICT )を行う

🚧

音声認識は本サイト上では実行できないため、mimi API Console にログインいただき、こちら からデモをお試しください。

📘

mimi が定義するカスタム HTTP ヘッダ

mimi が定義するカスタム HTTP ヘッダ( x-mimi- で始まるヘッダ ) に設定する値は、大文字小文字を区別しています。例えば "x-mimi-process" の値に "asr" は指定できますが、 "ASR" は指定できません。
また、同じヘッダが同一のリクエスト内で複数行指定された場合は、いずれか一つのみが有効になりますので極力1種類1行となるように指定してください。

API 実行に必要なスコープ

HTTP / WebSocket どちらを利用するかによって必要な スコープ は異なります。

https://apis.mimi.fd.ai/auth/nict-asr/http-api-service
https://apis.mimi.fd.ai/auth/nict-asr/websocket-api-service

音声認識結果の種類

mimi ASR powered by NICT では、音声認識結果の内容を以下のように区別しています。

部分結果

音声認識エンジンが「確定した音声認識結果」として出力する応答 JSON またはその音声認識結果テキスト。部分結果の音声認識結果を結合すると、最終的な音声認識結果テキストとなる。
応答結果 JSON 内の "status": "recog-in-progress" 且つ "determined": "true" である応答。
※ mimi ASR powered by NICT API では、部分結果を含む応答はプレビュー機能。

一時結果

音声認識エンジンが「未確定の音声認識結果の候補」として出力する応答 JSON またはその音声認識結果テキスト。部分結果や最終結果で応答されていない部分の音声認識結果が出力される。
応答結果 JSON 内の"determined": false である応答。

最終結果

音声認識処理の最後の応答 JSON またはその音声認識結果テキスト。
応答結果 JSON 内の "status": recog-finished である応答。

途中結果

部分結果、一時結果を含め、最終結果が得られるまでの処理途中で得られる応答全般。

実行

HTTP リクエスト実行例は 本ページ右 "REQUEST" の "v1", "v2" を参照ください。

WebSocket リクエスト実行例は WebSocket Service の実行例の項libmimiio - mimiio_file 利用)を参照ください。

応答フォーマットの指定

mimi ASR powered by NICT の応答フォーマット は v1, v2 の2つです。

format

description

v1     

・音声認識処理が終了した時に最終結果が得られる
・音声認識結果テキストは、単語とその発音などの情報を含む複数の辞書で確認できる。

v2

・パラメータの設定値設定次第で一時結果 、部分結果が得られる
・音声認識処理が終了した時に最終結果が得られる
・音声認識結果テキストは、単語別の配列と、単語を結合した結果の文章で確認できる。

カスタムヘッダ x-mimi-nict-asr-options のパラメータで応答フォーマットの設定ができます。

各パラメータは「パラメータ名=値」で指定し、それらをセミコロン(;)で連結したものを x-mimi-nict-asr-options ヘッダの値として設定します。
同じパラメータの設定が複数記載された場合はあと(右側)に指定された方が有効になります。

カスタムヘッダ x-mimi-nict-asr-options の パラメータ指定例:

+ WebSocket リクエストで 一時結果を含む応答を指定する場合
`x-mimi-nict-asr-options: response_format=v2;progressive=false;temporary=true;temporary_interval=1500`

+ WebSocket リクエストで 部分結果を含む応答を指定する場合
`x-mimi-nict-asr-options: response_format=v2;progressive=true;temporary=true;temporary_interval=1500`

+ HTTP リクエストで 途中結果なしで v2 の 応答 JSON を取得する場合
`x-mimi-nict-asr-options: response_format=v2;progressive=false;`

音声認識のリクエスト時にカスタムヘッダ x-mimi-asr-options がない場合 または x-mimi-asr-options のパラメータの指定が何もない(空("")である)場合は v1 のフォーマットで応答が得られます。

x-mimi-nict-asr-options で指定できるパラメータ

下記の表ではパラメータ名を key として記載しています。

key

value  

description

response_format

v1
または
v2

デフォルト値:v2

応答フォーマットを指定する。

v1 を指定した場合は、他のパラメータ( progressive, temporary, temporary_interval )はすべて無視される。

progressive
( プレビュー機能 )

true
または
false

デフォルト値:true

※ 本フィールドを true 指定した場合の動作はプレビュー機能です。
※ 本フィールドを true 指定して途中経過情報を取得できるのは WebSocket の場合のみです。HTTP の場合は false を指定するようにしてください

音声認識の部分結果の返却有無を指定する。
true を指定すると部分結果が最終結果の前に返却される。音声が短いなどの場合、返却されない場合もある。

temporary

true
または
false

デフォルト値:true

音声認識の一時結果の表示有無を指定する。

temporary_interval

整数値

デフォルト値:1500(ミリ秒)

音声認識の一時結果の最小の応答間隔を指定する。

あまり短く設定すると音声認識結果の応答が遅くなる可能性がある。0(ゼロ)を指定すると一時結果は応答しない。

応答

応答例

以下を参照ください。

HTTP Service 利用時は部分結果や一時結果を取得することはできません。

応答結果 JSON

各要素の型は本ページの "RESPONSE" を参照ください。
( resonse ステータス "200" をクリック → ポップアップ画面で "RESPONSE BODY" の "OK V1", "OK V2" を選択)

キー

内容

response

認識結果オブジェクトの配列。

    result

認識結果のテキスト。

    words

認識結果テキストを構成する単語の配列。
※ フォーマット v2 の場合のみ出力

    determined

確定した結果かどうか。
※ フォーマット v2 の場合のみ出力

    time

該当応答の発話中における開始時刻(ミリ秒)。
※ フォーマット v2 の場合のみ出力

session_id

セッションID。

status

音声認識結果のステータス。
・recog-in-progress=認識処理中
・recog-finished=認識処理終了

type

音声認識の型。

Language