次の方法で共有


バッチ文字起こしの結果を取得する

文字起こしの結果を取得するには、まず文字起こしジョブの 状態 を確認します。 ジョブが完了した場合は、文字起こしと文字起こしレポートを 取得 できます。

文字起こしの状態を取得する

文字起こしジョブの状態を取得するには、Speech to text REST API文字起こし - Get 操作を呼び出します。

重要

バッチ文字起こしジョブは、ベスト エフォートの原則でスケジュールされます。 ピーク時には、文字起こしジョブの処理が開始されるまでに最大 30 分以上かかる場合があります。 プロセス中、ほとんどの場合、文字起こしの状態は Running。 その理由は、ジョブがバッチ文字起こしバックエンド システムに移動した瞬間に Running 状態が割り当てられるためです。 この割り当ては、基本モデルが使用されている場合はほぼ瞬時に、カスタム モデルの場合は若干遅れて発生します。 このため、文字起こしジョブが Running 状態にある時間は、実際の文字起こしの時間には対応せず、これには内部キューでの待ち時間も含まれます。

HTTP GET 要求は、次の例に示すように URI を使用して行います。 YourTranscriptionId を文字起こし ID に置き換え、 YourSpeechResoureKey を音声 リソース キーに置き換えて、 YourServiceRegion を 音声 リソース リージョンに置き換えます。

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions/YourTranscriptionId?api-version=2024-11-15" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"

応答本文は次の形式で返されます。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d?api-version=2024-11-15",
  "displayName": "My Transcription",
  "locale": "en-US",
  "createdDateTime": "2025-05-24T13:36:57Z",
  "lastActionDateTime": "2025-05-24T13:37:13Z",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files?api-version=2024-11-15"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
    "displayFormWordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "timeToLiveHours": 48,
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ],
      "mode": "Continuous"
    },
    "durationMilliseconds": 3000
  },
  "status": "Succeeded"
}

この status プロパティは、文字起こしの現在の状態を示します。 文字起こしと文字起こしレポートは、文字起こしの状態が Succeeded のときに使用できます。

重要

バッチ文字起こしジョブは、ベスト エフォートの原則でスケジュールされます。 ピーク時には、文字起こしジョブの処理が開始されるまでに最大 30 分以上かかる場合があります。 プロセス中、ほとんどの場合、文字起こしの状態は Running。 その理由は、ジョブがバッチ文字起こしバックエンド システムに移動した瞬間に Running 状態が割り当てられるためです。 この割り当ては、基本モデルが使用されている場合はほぼ瞬時に、カスタム モデルの場合は若干遅れて発生します。 このため、文字起こしジョブが Running 状態にある時間は、実際の文字起こしの時間には対応せず、これには内部キューでの待ち時間も含まれます。

文字起こしジョブの状態を取得するには、 spx batch transcription status コマンドを使用します。 次の手順に従って要求パラメーターを作成します。

  • transcription パラメーターを、取得する文字起こしの ID に設定します。
  • 必要な api-version パラメーターを v3.2に設定します。 Speech CLI ではバージョン 2024-11-15 以降はまだサポートされていないため、現時点では v3.2 を使用する必要があります。

文字起こしの状態を取得する Speech CLI コマンドの例を次に示します。

spx batch transcription status --api-version v3.2 --transcription YourTranscriptionId

応答本文は次の形式で返されます。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "displayFormWordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "duration": "PT3S"
  },
  "lastActionDateTime": "2025-05-24T13:37:12Z",
  "status": "Succeeded",
  "createdDateTime": "2024-05-10T18:39:07Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

この status プロパティは、文字起こしの現在の状態を示します。 文字起こしと文字起こしレポートは、文字起こしの状態が Succeeded のときに使用できます。

文字起こしに関する 音声 CLI ヘルプを表示するには、次のコマンドを実行します:

spx help batch transcription

文字起こしの結果を取得する

文字起こし - ファイルの一覧表示操作は、文字起こしの結果ファイルの一覧を返します。 送信されたバッチ文字起こしジョブごとに 文字起こしレポート ファイルが提供されます。 さらに、正常に文字起こしされたオーディオ ファイルごとに 1 つの 文字起こし ファイル (最終結果) が提供されます。

前の応答本文の "files" URI を使用して HTTP GET 要求を行います。 YourTranscriptionId を文字起こし ID に置き換え、 YourSpeechResoureKey を音声 リソース キーに置き換えて、 YourServiceRegion を 音声 リソース リージョンに置き換えます。

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions/YourTranscriptionId/files?api-version=2024-11-15" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"

応答本文は次の形式で返されます。

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/ec226a24-d3c7-4ae4-b59e-49d5bdab492e?api-version=2024-11-15",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      },
      "properties": {
        "size": 1230
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/078cd816-7944-4619-a6a6-bc52fb000f8c?api-version=2024-11-15",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      },
      "properties": {
        "size": 2413
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/5baff707-8d68-4c69-850e-48775c57c982?api-version=2024-11-15",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      },
      "properties": {
        "size": 747
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    }
  ]
}

各文字起こしの場所および文字起こしレポート ファイルの詳細が、応答本文で返されます。 このcontentUrlプロパティには、 文字起こし ("kind": "Transcription") または 文字起こしレポート ("kind": "TranscriptionReport") ファイルの URL が含まれています。

文字起こし要求の destinationContainerUrl プロパティにコンテナーを指定しなかった場合、結果は Microsoft によって管理されるコンテナーに格納されます。 文字起こしジョブを削除すると、文字起こしの結果データも削除されます。

この spx batch transcription list コマンドから、文字起こしの結果ファイルの一覧が返されます。 送信されたバッチ文字起こしジョブごとに 文字起こしレポート ファイルが提供されます。 さらに、正常に文字起こしされたオーディオ ファイルごとに 1 つの 文字起こし ファイル (最終結果) が提供されます。

  • 必須の files フラグを設定します。
  • 必須の transcription パラメーターをログを取得する文字起こしの ID に設定します。
  • 必要な api-version パラメーターを v3.2に設定します。 Speech CLI ではバージョン 2024-11-15 以降はまだサポートされていないため、現時点では v3.2 を使用する必要があります。

文字起こしの結果ファイルの一覧を取得する Speech CLI コマンドの例を次に示します。

spx batch transcription list --api-version v3.2 --files --transcription YourTranscriptionId

応答本文は次の形式で返されます。

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "properties": {
        "size": 3407
      },
      "createdDateTime": "2025-05-24T13:37:12Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "properties": {
        "size": 8233
      },
      "createdDateTime": "2025-05-24T13:37:12Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 279
      },
      "createdDateTime": "2025-05-24T13:37:12Z",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      }
    }
  ]
}

各文字起こしの場所および文字起こしレポート ファイルの詳細が、応答本文で返されます。 このcontentUrlプロパティには、 文字起こし ("kind": "Transcription") または 文字起こしレポート ("kind": "TranscriptionReport") ファイルの URL が含まれています。

既定では、結果は Microsoft によって管理されるコンテナーに格納されます。 文字起こしジョブを削除すると、文字起こしの結果データも削除されます。

文字起こしレポート ファイル

送信されたバッチ文字起こしジョブごとに、1 つの文字起こしレポート ファイルが提供されます。 文字起こしファイルは、"kind": "TranscriptionReport" オペレーションの応答本文にある プロパティによって識別されます。

この例に示すように、各文字起こし結果ファイルの内容は JSON として書式設定されます。

{
  "successfulTranscriptionsCount": 2,
  "failedTranscriptionsCount": 0,
  "details": [
    {
      "source": "https://crbn.us/hello.wav",
      "status": "Succeeded"
    },
    {
      "source": "https://crbn.us/whatstheweatherlike.wav",
      "status": "Succeeded"
    }
  ]
}

文字起こしの結果ファイル

正常に文字起こしされたオーディオ ファイルごとに 1 つの文字起こし結果ファイルが提供されます。 文字起こしの結果ファイルは、"kind": "Transcription"プロパティによって文字起こし - ファイル一覧表示操作の応答本文で識別されます。

この例に示すように、各文字起こし結果ファイルの内容は JSON として書式設定されます。

{
  "source": "...",
  "timestamp": "2025-05-24T13:37:05Z",
  "durationInTicks": 25800000,
  "durationMilliseconds": 2580,
  "duration": "PT2.58S",
  "combinedRecognizedPhrases": [
    {
      "channel": 0,
      "lexical": "hello world",
      "itn": "hello world",
      "maskedITN": "hello world",
      "display": "Hello world."
    }
  ],
  "recognizedPhrases": [
    {
      "recognitionStatus": "Success",
      "channel": 0,
      "offset": "PT0.76S",
      "duration": "PT1.32S",
      "offsetInTicks": 7600000.0,
      "durationInTicks": 13200000.0,
      "nBest": [
        {
          "confidence": 0.5643338,
          "lexical": "hello world",
          "itn": "hello world",
          "maskedITN": "hello world",
          "display": "Hello world.",
          "displayWords": [
            {
              "displayText": "Hello",
              "offset": "PT0.76S",
              "duration": "PT0.76S",
              "offsetInTicks": 7600000.0,
              "durationInTicks": 7600000.0
            },
            {
              "displayText": "world.",
              "offset": "PT1.52S",
              "duration": "PT0.56S",
              "offsetInTicks": 15200000.0,
              "durationInTicks": 5600000.0
            }
          ]
        },
        {
          "confidence": 0.1769063,
          "lexical": "helloworld",
          "itn": "helloworld",
          "maskedITN": "helloworld",
          "display": "helloworld"
        },
        {
          "confidence": 0.49964225,
          "lexical": "hello worlds",
          "itn": "hello worlds",
          "maskedITN": "hello worlds",
          "display": "hello worlds"
        },
        {
          "confidence": 0.4995761,
          "lexical": "hello worm",
          "itn": "hello worm",
          "maskedITN": "hello worm",
          "display": "hello worm"
        },
        {
          "confidence": 0.49418187,
          "lexical": "hello word",
          "itn": "hello word",
          "maskedITN": "hello word",
          "display": "hello word"
        }
      ]
    }
  ]
}

文字起こしジョブの作成時に設定された要求パラメーターによっては、文字起こしファイルに次の結果プロパティを含めることができます。

プロパティ 説明
channel 結果のチャネル番号。 ステレオ オーディオ ストリームの場合、文字起こし中に左チャンネルと右チャンネルが分離されます。 入力オーディオ ファイルごとに JSON 結果ファイルが作成されます。
combinedRecognizedPhrases チャネルのすべてのフレーズの連結された結果。
confidence 認識の信頼度値。
display 認識されたテキストの表示形式。 追加された句読点と大文字化が含まれます。
displayWords 文字起こしの各単語のタイムスタンプ。 displayFormWordLevelTimestampsEnabled要求プロパティは、trueに設定する必要があります。 それ以外の場合、このプロパティは存在しません。
duration オーディオ継続時間。 値は ISO 8601 でエンコードされた継続時間です。
durationInTicks ティック単位のオーディオ継続時間 (1 ティックは 100 ナノ秒)。
durationMilliseconds オーディオの再生時間 (ミリ秒単位)。
itn 認識されたテキストの逆テキスト正規化 (ITN) 形式。 略語 ("Doctor Smith" から "Dr Smith" など)、電話番号、およびその他の変換が適用されます。
lexical 実際に認識された単語。
locale オーディオの入力から識別されるロケール。 languageIdentification要求プロパティを設定する必要があります。 それ以外の場合、このプロパティは存在しません。
maskedITN 不適切表現のマスキングを適用した ITN 形式。
nBest 現在のフレーズで使用できる文字起こしの一覧。信頼度が高くなります。
offset このフレーズのオーディオでのオフセット。 値は ISO 8601 でエンコードされた継続時間です。
offsetInTicks このフレーズのオーディオのオフセットをティック単位で指定します (1 ティックは 100 ナノ秒です)。
recognitionStatus 認識状態。 たとえば、"Success" または "Failure" です。
recognizedPhrases 各フレーズの結果の一覧。
source 入力オーディオ ソースとして指定された URL。 ソースは、 contentUrls または contentContainerUrl 要求プロパティに対応します。 この source プロパティは、文字起こしのオーディオ入力を確認する唯一の方法です。
speaker 識別された話者。 diarizationおよびdiarizationEnabled要求プロパティを設定する必要があります。 それ以外の場合、このプロパティは存在しません。
timestamp 文字起こしの作成日時。 値は ISO 8601 でエンコードされたタイムスタンプです。
words フレーズの各単語の構文テキストを含む結果の一覧。 wordLevelTimestampsEnabled要求プロパティは、trueに設定する必要があります。 それ以外の場合、このプロパティは存在しません。