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

Um den Status des Transkriptionsauftrags abzurufen, rufen Sie den Vorgang Transcriptions_Get der Spracherkennungs-REST-API auf.

Wichtig

Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Während Spitzenzeiten kann es 30 Minuten oder länger dauern, bis die Bearbeitung eines Transkriptionsauftrags beginnt. Die meiste Zeit während der Ausführung wird der Transkriptionsstatus Running sein. Das liegt daran, dass dem Auftrag der Status Running zugewiesen wird, sobald er auf das Back-End-System für die Batchtranskription verschoben wird. 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/v3.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

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",
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ]
    }
  },
  "lastActionDateTime": "2024-05-10T18:39:09Z",
  "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.

Wichtig

Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Während Spitzenzeiten kann es 30 Minuten oder länger dauern, bis die Bearbeitung eines Transkriptionsauftrags beginnt. Die meiste Zeit während der Ausführung wird der Transkriptionsstatus Running sein. Das liegt daran, dass dem Auftrag der Status Running zugewiesen wird, sobald er auf das Back-End-System für die Batchtranskription verschoben wird. 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.

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": "2024-05-10T18:39:09Z",
  "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 Transcriptions_ListFiles 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.

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/v3.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

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": "2024-05-10T18:39:09Z",
      "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": "2024-05-10T18:39:09Z",
      "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": "2024-05-10T18:39:09Z",
      "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").

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.

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": "2024-05-10T18:39:09Z",
      "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": "2024-05-10T18:39:09Z",
      "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": "2024-05-10T18:39:09Z",
      "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.

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.

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

{
  "source": "...",
  "timestamp": "2023-07-10T14:28:16Z",
  "durationInTicks": 25800000,
  "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 sein, andernfalls ist diese Eigenschaft nicht vorhanden.

Hinweis: Diese Eigenschaft ist erst ab Version 3.1 der Spracherkennungs-REST-API verfügbar.
duration Die Dauer der Audiodaten. Der Wert ist eine gemäß ISO 8601 codierte Dauer.
durationInTicks Die Audiodauer in Takten (ein Takt entspricht 100 Nanosekunden).
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 sein, andernfalls ist diese Eigenschaft nicht vorhanden.

Hinweis: Diese Eigenschaft ist erst ab Version 3.1 der Spracherkennungs-REST-API verfügbar.
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 sein, 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 festgelegt sein, andernfalls ist diese Eigenschaft nicht vorhanden.

Nächste Schritte