ホーム API API 音声認識

音声認識

    音声認識APIは、端末等で入力、収集した音声のデータをテキスト化するAPIです。

    API
    基本情報

    ■音声認識【Powered by NTTテクノクロス】

    提供 : REST

    ■音声認識【Powered by アドバンスト・メディア】

    提供 : REST

    審査 : アプリ審査

    利用条件 : あり ※1

    ※1「ガイドライン(必読)」に記載の利用条件に予め同意していただく必要がございます。

    ご利用いただくためには「アカウント登録(無料)」が必要です。
    音声認識【Powered by NTTテクノクロス】

     音声データを解析し文字列を返却します。

    リクエストURL

    https://api.apigw.smt.docomo.ne.jp/speechRec/v1/recognize

    メソッド : POST
    文字コード : UTF-8

    リクエストヘッダ

    キー 必須 説明
    Content-Type application/octet-stream

    リクエストクエリパラメータ

    キー 必須 説明
    APIKEY APIにアクセスするアプリの認証に利用する
    samplingRate 音声データのサンプリング周波

    リクエストボディ

    キー 必須 説明

    音声データ
    15秒を超える音声データを指定した場合、エラーが返却されます。

    レスポンスヘッダ

    キー 必須 説明
    Date Date 日付情報(RFC1123形式)
    Content-Type 受信データのMIMEタイプは、下記を返却。
    application/json
    Content-Length リソース・コンテンツのサイズ。単位はバイト

    レスポンスボディ(JSON形式)

    ・音声認識準備完了通知

    キー 必須 説明
    msg 共通部
    msgname

     メッセージ種別

     (speechStartDetected)

    uniqueId

     WebSocketのセッション毎にユニークな識別子

     (サービスが付与した識別子)

    ・発話検出通知

    キー 必須 説明
    msg 共通部
    msgname

     メッセージ種別

     (speechStartDetected)

    uniqueId

     WebSocketのセッション毎にユニークな識別子

     (SpeechRecサービスが付与した識別子)

    timeinfo 時間情報
    startDetectTime

     発話開始時間(ms)

     (音声開始~発話検出までの時間)

    ・終話検出通知

    キー 必須 説明
    msg 共通部
    msgname

     メッセージ種別

     (speechStartDetected)

    uniqueId

     WebSocketのセッション毎にユニークな識別子

     (SpeechRecサービスが付与した識別子)

    timeinfo 時間情報
    endDetectTime

     発話終了時間(ms)

     (音声開始~終話検出までの時間)

    ・音声認識結果通知

    キー 必須 説明
    msg 共通部
    msgname

     メッセージ種別

     (recognized)

    uniqueId

     HTTPのセッション毎にユニークな識別子

     (サーバが付与した識別子)

    result 認識結果
    type

     認識結果タイプ

     1:認識結果(サーバ終話検知)
    2:認識結果(最終)(音声認識停止要求)
    3:認識結果(最終)(サーバ終話検知)
    4:認識結果(最終)(最大発話時間超過)

    sentence  文情報配列
    surface

     音声認識結果の表記全文

     (単語の表記を半角スペースで連結)

    score

     スコア(音響+言語)

     (音声認識結果の確かさ)

    startTime

     文の開始時刻(秒)

     (入力音声データの先頭を0とするこの発話に該当するPCMデータ区間の開始時間)

    endTime

     文の終了時刻(秒)

     (入力音声データの先頭を0とするこの発話に該当するPCMデータ区間の終了時間)

    ・音声認識終了通知

    キー 必須 説明
    msg 共通部
    msgname

     メッセージ種別

     (speechEndDetected)

    uniqueId

     HWebSocketのセッション毎にユニークな識別子

     (SpeechRecサービスが付与した識別子)

    cause

     停止要因

      STOP(音声認識停止要求)
    ERROR(エラー)

    errorinfo エラー情報(停止要因が「ERROR」の場合のみ)
    code

     エラーコード

    message

     エラーメッセージ

    level

     エラーレベル

     (WARN, ERROR, FATAL)

    detail

     エラー詳細情報

    リクエストサンプル

    POST https://api.apigw.smt.docomo.ne.jp/speechRec/v1/recognize?APIKEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&samplingRate=16000
    Content-Type: application/octet-stream;

    cURLコマンドサンプル

    curl -i -X POST -H "Content-Type:application/octet-stream" -T "./sample.pcm" 'https://api.apigw.smt.docomo.ne.jp/speechRec/v1/recognize?APIKEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&samplingRate=16000'

    音声データ

    -T "./sample.pcm" で指定する sample.pcm のサンプルデータはこちら
    サンプリングレートは 16000 で作成しています。

    レスポンスサンプル

    Content-Type: application/json;charset=UTF-8
    < HTTP/1.1 200 OK
    < Date: Tue, 03 Mar 2020 09:50:09 GMT
    < Content-Type: application/json;charset=utf-8
    < Content-Length: 1086
    < Connection: keep-alive
    < Set-Cookie: token=acf05197-45de-4043-9e01-5b4ec598b592;Version=1
    < Access-Control-Allow-Origin: *
    < Access-Control-Allow-Headers: Content-Type, Unique-ID
    < Access-Control-Allow-Methods: POST
    < Access-Control-Allow-Credentials: true
    <
    [ {
      "msg" : {
        "msgname" : "started",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594"
      }
    }, {
      "msg" : {
        "msgname" : "speechStartDetected",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594"
      },
      "timeinfo" : {
        "startDetectTime" : 650
      }
    }, {
      "msg" : {
        "msgname" : "speechEndDetected",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594"
      },
      "timeinfo" : {
        "endDetectTime" : 4740
      }
    }, {
      "msg" : {
        "msgname" : "recognized",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594"
      },
      "result" : {
        "type" : 1,
        "sentence" : [ {
          "surface" : "今年 に 入っ て 衛星放送 の チャンネル 数 が 2 倍 に 増えました",
          "score" : 0.926531,
          "startTime" : 0.65,
          "endTime" : 4.74
        } ]
      }
    }, {
      "msg" : {
        "msgname" : "recognized",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594"
      },
      "result" : {
        "type" : 2,
        "sentence" : [ ]
      }
    }, {
      "msg" : {
        "msgname" : "completed",
        "uniqueId" : "34bbb236-972c-4b97-b51f-6d93263cb594",
        "cause" : "STOP"
      }
    } ]

    レスポンス説明

    全ての通知に共通して設定されるパラメータとして、「msgname」「uniqueId」があります。
    「msgname」にて通知の種類を判定し、「uniqueId」にてWebSocketのセッション毎にユニークな識別子を取得することができます。
    サーバ通知の種類 msgname 通知内容
    音声認識準備完了通知 started 音声認識の準備が完了
    発話検出通知 speechStartDetected 音声データの発話開始を検出
    終話検出通知 speechEndDetected 音声データの発話終了を検出
    音声認識結果通知 recognized 音声認識結果が確定
    音声認識終了通知 completed 音声認識が終了、音声認識でエラー発生

    エラーコード一覧

    code message level エラーの内容と対処方法
    4xx リクエストエラー
    410 Invalid Parameter ERROR

     パラメータ不正

     パラメータを確認してください。

    411 Invalid State ERROR

     実行不能ステート

     APIの呼び出し順番を確認してください。

    412 Interval Too Brief ERROR

     リクエスト不正

     detailメッセージを確認してください。

    5xx リクエストエラー
    500 Internal Error FATAL

     音声認識サーバの内部エラー

     サーバ管理者に確認してください。

    510 Out Of Memory ERROR

     音声認識サーバのメモリ不足

     サーバ管理者に確認してください。

    552 Network Error WARN

     通信異常

     ネットワーク障害がないか確認してください。

    552 Network Timeout WARN

     通信タイムアウト

     サーバ管理者に確認してください。

    6xx WebAPIサーバエラー
    600 Internal Error FATAL

     WebAPIサーバの内部エラー

     サーバ管理者に確認してください。

    610 Out Of Memory ERROR

     WebAPIサーバのメモリ不足

     サーバ管理者に確認してください。

    611 Invalid License ERROR

     ライセンス不正

     サーバ管理者に確認してください。

    612 Invalid Config ERROR

     設定不正

     サーバ管理者に確認してください。

    503 サービス利用不可
    550 No Resource WARN

     音声認識サーバに利用できるリソースがない

     サーバ管理者に確認してください。

    650 No Resource WARN

     WebAPIサーバに利用できるリソースがない

     サーバ管理者に確認してください。

    651 Session Timeout WARN

     セッションタイムアウト

     WebAPIの呼び出し順序、呼び出し間隔を確認してください。

    69x 外部コマンドエラー
    691 External Command Warn WARN

     外部コマンドエラー

     サーバ管理者に確認してください。

    692 External Command Error ERROR

     外部コマンドエラー

     サーバ管理者に確認してください。

    693 External Command Fatal FATAL

     外部コマンドエラー

     サーバ管理者に確認してください。

    よくあるご質問
    APIなどの各サービスに関するよくある質問を掲載します。
    お問い合わせ
    「docomo Developer support」及び「作ろうスマートフォン/iモードコンテンツ」に関するお問い合わせです。よくあるご質問や技術ブログで解決しない場合は、お問い合わせください。