Freigeben über


Abrufen von Batch-Transkriptionsergebnissen

Zum Abrufen von Transkriptionsergebnissen überprüfen Sie zuerst den Status des Transkriptionsauftrags. Wenn der Auftrag abgeschlossen ist, können Sie die Transkriptionen und den Transkriptionsbericht abrufen.

Abrufen des Transkriptionsstatus

Rufen Sie die Transkription-Get-Operation der Speech to text REST API auf, um den Status des Transkriptionsauftrags zu erhalten.

Wichtig

Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Zu Spitzenzeiten kann es bis zu 30 Minuten oder länger dauern, bis ein Transkriptionsauftrag mit der Verarbeitung beginnt. Während der Ausführung ist der Transkriptionsstatus die meiste Zeit Running. Der Grund dafür ist, dass dem Auftrag der Running Status zugewiesen wird, sobald er zum Back-End-System für die Batchtranskription wechselt. Wenn das Basismodell verwendet wird, erfolgt diese Zuweisung nahezu sofort. Bei benutzerdefinierten Modellen dauert es etwas länger. Die Zeit, die ein Transkriptionsauftrag im Status Running verbleibt, entspricht also nicht der tatsächlichen Transkriptionszeit, sondern beinhaltet auch die Wartezeit in internen Warteschlangen.

Erstellen Sie eine HTTP GET-Anforderung mithilfe des URI, wie im folgenden Beispiel gezeigt. Ersetzen Sie YourTranscriptionId durch die ID Ihrer Transkription, YourSubscriptionKey durch den Schlüssel Ihrer Speech-Ressource und YourServiceRegion durch die Region Ihrer Speech-Ressource.

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

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "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"
}

Die status-Eigenschaft gibt den aktuellen Status der Transkriptionen an. Die Transkriptionen und der Transkriptionsbericht sind verfügbar, wenn der Transkriptionsstatus Succeeded angegeben ist.

Wichtig

Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Zu Spitzenzeiten kann es bis zu 30 Minuten oder länger dauern, bis ein Transkriptionsauftrag mit der Verarbeitung beginnt. Die meiste Zeit ist der Transkriptionsstatus während der Ausführung Running. Der Grund dafür ist, dass dem Auftrag der Running Status zugewiesen wird, sobald er zum Back-End-System für die Batchtranskription wechselt. Wenn das Basismodell verwendet wird, erfolgt diese Zuweisung nahezu sofort. Bei benutzerdefinierten Modellen dauert es etwas länger. Die Zeit, die ein Transkriptionsauftrag im Status Running verbleibt, entspricht also nicht der tatsächlichen Transkriptionszeit, sondern beinhaltet auch die Wartezeit in internen Warteschlangen.

Um den Status des Transkriptionsauftrags abzurufen, verwenden Sie den spx batch transcription status-Befehl. Erstellen Sie die Anforderungsparameter gemäß den folgenden Anweisungen:

  • Legen Sie den transcription-Parameter auf die ID der Transkription fest, die Sie abrufen möchten.
  • Legen Sie den erforderlichen api-version Parameter auf v3.2. Die Speech CLI unterstützt noch keine Version 2024-11-15 oder höher, deshalb müssen Sie vorerst v3.2 verwenden.

Hier sehen Sie einen Speech CLI-Beispielbefehl zum Abrufen des Transkriptionsstatus:

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

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "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"
}

Die status-Eigenschaft gibt den aktuellen Status der Transkriptionen an. Die Transkriptionen und der Transkriptionsbericht sind verfügbar, wenn der Transkriptionsstatus Succeeded angegeben ist.

Führen Sie den folgenden Befehl aus, um Hilfe der Speech-Befehlszeilenschnittstelle zu Transkriptionen anzuzeigen:

spx help batch transcription

Abrufen von Transkriptionsergebnissen

Der Vorgang "Transkriptionen - Dateien auflisten" gibt eine Liste von Ergebnisdateien für eine Transkription zurück. Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt. Darüber hinaus wird eine Transkriptionsdatei (das Endergebnis) für jede erfolgreich transkribierte Audiodatei bereitgestellt.

Erstellen Sie eine HTTP-GET-Anforderung mithilfe des „Dateien“-URI aus dem vorherigen Antworttext. Ersetzen Sie YourTranscriptionId durch die ID Ihrer Transkription, YourSubscriptionKey durch den Schlüssel Ihrer Speech-Ressource und YourServiceRegion durch die Region Ihrer Speech-Ressource.

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

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "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"
    }
  ]
}

Der Speicherort der einzelnen Transkriptions- und Transkriptionsberichtsdateien wird zusammen mit weiteren Details im Antworttext zurückgegeben. Die contentUrl-Eigenschaft enthält die URL zur Transkriptions- ("kind": "Transcription") oder Transkriptionsberichtsdatei ("kind": "TranscriptionReport").

Wenn Sie in der Eigenschaft destinationContainerUrl der Transkriptionsanforderung keinen Container angegeben haben, werden die Ergebnisse in einem von Microsoft verwalteten Container gespeichert. Wenn der Transkriptionsauftrag gelöscht wird, werden auch die Daten des Transkriptionsergebnisses gelöscht.

Der Befehl spx batch transcription list gibt eine Liste der Ergebnisdateien für eine Transkription zurück. Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt. Darüber hinaus wird eine Transkriptionsdatei (das Endergebnis) für jede erfolgreich transkribierte Audiodatei bereitgestellt.

  • Legen Sie das erforderliche files-Kennzeichen fest.
  • Legen Sie den erforderlichen transcription-Parameter auf die ID der Transkription fest, für die Sie Protokolle abrufen wollen.
  • Legen Sie den erforderlichen api-version Parameter auf v3.2. Die Speech CLI unterstützt noch keine Version 2024-11-15 oder höher, daher müssen Sie vorerst v3.2 verwenden.

Hier sehen Sie einen Beispielbefehl für die Speech-CLI, der eine Liste der Ergebnisdateien für eine Transkription abruft:

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

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "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"
      }
    }
  ]
}

Der Speicherort der einzelnen Transkriptions- und Transkriptionsberichtsdateien wird zusammen mit weiteren Details im Antworttext zurückgegeben. Die contentUrl-Eigenschaft enthält die URL zur Transkriptions- ("kind": "Transcription") oder Transkriptionsberichtsdatei ("kind": "TranscriptionReport").

Standardmäßig werden die Ergebnisse in einem von Microsoft verwalteten Container gespeichert. Wenn der Transkriptionsauftrag gelöscht wird, werden auch die Daten des Transkriptionsergebnisses gelöscht.

Transkriptionsberichtsdatei

Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt. Die Transkriptionsberichtsdatei wird durch die Eigenschaft "kind": "TranscriptionReport" im Antworttext des Vorgangs Transkriptionen – Dateien auflisten identifiziert.

Der Inhalt jeder Transkriptionsergebnisdatei liegt im JSON-Format vor, wie in diesem Beispiel dargestellt.

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

Transkriptionsergebnisdatei

Für jede erfolgreich transkribierte Audiodatei wird eine Transkriptionsergebnisdatei bereitgestellt. Die Datei mit den Transkriptionsergebnissen wird durch die "kind": "Transcription" Eigenschaft im Antwortkörper des Vorgangs Transkriptionen - Dateiliste identifiziert.

Der Inhalt jeder Transkriptionsergebnisdatei liegt im JSON-Format vor, wie in diesem Beispiel dargestellt.

{
  "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"
        }
      ]
    }
  ]
}

Die Transkriptionsdatei kann die folgenden Ergebniseigenschaften enthalten, teilweise abhängig von den Anforderungsparametern, die beim Erstellen des Transkriptionsauftrags festgelegt wurden.

Eigenschaft BESCHREIBUNG
channel Die Kanalnummer der Ergebnisse. Bei Audiostreams in Stereo sind linker und rechter Kanal während des Transkriptionsvorgangs geteilt. Für jede eingegebene Audiodatei wird eine JSON-Ergebnisdatei erstellt.
combinedRecognizedPhrases Die verketteten Ergebnisse aller Ausdrücke für den Kanal.
confidence Der Konfidenzwert für die Erkennung.
display Die Anzeigeform des erkannten Texts. Hinzugefügte Satzzeichen und Groß-/Kleinschreibung sind enthalten.
displayWords Die Zeitstempel für jedes Wort der Transkription. Die Anforderungseigenschaft displayFormWordLevelTimestampsEnabled muss auf true festgelegt werden. Andernfalls ist diese Eigenschaft nicht vorhanden.
duration Die Dauer der Audiodaten. Der Wert ist eine gemäß ISO 8601 codierte Dauer.
durationInTicks Die Audiodauer in Takten (ein Takt entspricht 100 Nanosekunden).
durationMilliseconds Die Audiodauer in Millisekunden.
itn Die ITN-Form (inverse Textnormalisierung) des erkannten Texts. Abkürzungen („Doktor Schmidt“ zu „Dr. Schmidt“), Telefonnummern und weitere Transformationen werden angewendet.
lexical Die tatsächlich erkannten Wörter
locale Das Gebietsschema, das aus der Audioeingabe identifiziert wurde. Die Anforderungseigenschaft languageIdentification muss festgelegt werden. Andernfalls ist diese Eigenschaft nicht vorhanden.
maskedITN Die ITN-Form mit angewendeter Maskierung von Obszönitäten
nBest Eine Liste möglicher Transkriptionen für den aktuellen Ausdruck mit Konfidenzwerten.
offset Der Audio-Offset für diesen Satz. Der Wert ist eine gemäß ISO 8601 codierte Dauer.
offsetInTicks Der Offset in Audio dieses Ausdrucks in Takten (ein Takt entspricht 100 Nanosekunden).
recognitionStatus Der Erkennungsstatus. Beispiel: „Erfolg“ oder „Fehler“.
recognizedPhrases Die Liste der Ergebnisse für jeden Ausdruck.
source Die URL, die als Eingabeaudioquelle bereitgestellt wurde. Die Quelle entspricht der Anforderungseigenschaft contentUrls oder contentContainerUrl. Die source-Eigenschaft stellt die einzige Möglichkeit dar, die Audioeingabe für eine Transkription zu bestätigen.
speaker Der erkannte Sprecher. Die Anforderungseigenschaften diarization und diarizationEnabled müssen festgelegt werden. Andernfalls ist diese Eigenschaft nicht vorhanden.
timestamp Erstellungsdatum und -uhrzeit der Transkription. Der Wert ist ein gemäß ISO 8601 codierter Zeitstempel.
words Eine Liste der Ergebnisse mit lexikalischem Text für jedes Wort des Ausdrucks. Die Anforderungseigenschaft wordLevelTimestampsEnabled muss auf true gesetzt werden. Andernfalls ist diese Eigenschaft nicht vorhanden.