Udostępnij za pośrednictwem


Pobieranie wyników transkrypcji wsadowej

Aby uzyskać wyniki transkrypcji, najpierw sprawdź stan zadania transkrypcji. Jeśli zadanie zostanie ukończone, możesz pobrać transkrypcje i raport transkrypcji.

Uzyskiwanie stanu transkrypcji

Aby uzyskać stan zadania transkrypcji, wywołaj operację Transcriptions_Get interfejsu API REST zamiany mowy na tekst.

Ważne

Zadania transkrypcji wsadowej są zaplanowane zgodnie z najlepszymi potrzebami. W godzinach szczytu może upłynąć do 30 minut lub dłużej, zanim zadanie transkrypcji rozpocznie przetwarzanie. W większości przypadków podczas wykonywania stan transkrypcji to Running. Dzieje się tak, ponieważ zadanie ma przypisany Running stan w momencie przeniesienia go do systemu zaplecza transkrypcji wsadowej. Gdy używany jest model podstawowy, to przypisanie odbywa się niemal natychmiast; jest nieco wolniejsza w przypadku modeli niestandardowych. W związku z tym ilość czasu, przez jaki zadanie transkrypcji spędza w Running stanie, nie odpowiada rzeczywistemu czasowi transkrypcji, ale także czas oczekiwania w kolejkach wewnętrznych.

Utwórz żądanie HTTP GET przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie. Zastąp YourTranscriptionId ciąg identyfikatorem transkrypcji, zastąp ciąg kluczem zasobu usługi Mowa i zastąp YourSubscriptionKey YourServiceRegion element regionem zasobu usługi Mowa.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

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

Właściwość status wskazuje bieżący stan transkrypcji. Transkrypcje i raport transkrypcji są dostępne, gdy stan transkrypcji to Succeeded.

Ważne

Zadania transkrypcji wsadowej są zaplanowane zgodnie z najlepszymi potrzebami. W godzinach szczytu może upłynąć do 30 minut lub dłużej, zanim zadanie transkrypcji rozpocznie przetwarzanie. W większości przypadków podczas wykonywania stan transkrypcji to Running. Dzieje się tak, ponieważ zadanie ma przypisany Running stan w momencie przeniesienia go do systemu zaplecza transkrypcji wsadowej. Gdy używany jest model podstawowy, to przypisanie odbywa się niemal natychmiast; jest nieco wolniejsza w przypadku modeli niestandardowych. W związku z tym ilość czasu, przez jaki zadanie transkrypcji spędza w Running stanie, nie odpowiada rzeczywistemu czasowi transkrypcji, ale także czas oczekiwania w kolejkach wewnętrznych.

Aby uzyskać stan zadania transkrypcji, użyj spx batch transcription status polecenia . Skonstruuj parametry żądania zgodnie z następującymi instrukcjami:

  • transcription Ustaw parametr na identyfikator transkrypcji, którą chcesz uzyskać.

Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa umożliwiające uzyskanie stanu transkrypcji:

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

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

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

Właściwość status wskazuje bieżący stan transkrypcji. Transkrypcje i raport transkrypcji są dostępne, gdy stan transkrypcji to Succeeded.

Aby uzyskać pomoc dotyczącą interfejsu wiersza polecenia usługi Mowa w transkrypcjach, uruchom następujące polecenie:

spx help batch transcription

Pobieranie wyników transkrypcji

Operacja Transcriptions_ListFiles zwraca listę plików wyników dla transkrypcji. Plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej. Ponadto jeden plik transkrypcji (wynik końcowy) jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.

Utwórz żądanie HTTP GET przy użyciu identyfikatora URI "files" z poprzedniej treści odpowiedzi. Zastąp YourTranscriptionId ciąg identyfikatorem transkrypcji, zastąp ciąg kluczem zasobu usługi Mowa i zastąp YourSubscriptionKey YourServiceRegion element regionem zasobu usługi Mowa.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

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

Lokalizacja poszczególnych plików raportów transkrypcji i transkrypcji z większą ilością szczegółów jest zwracana w treści odpowiedzi. Właściwość contentUrl zawiera adres URL do pliku transkrypcji ("kind": "Transcription") lub raportu transkrypcji ("kind": "TranscriptionReport").

Jeśli nie określono kontenera we destinationContainerUrl właściwości żądania transkrypcji, wyniki są przechowywane w kontenerze zarządzanym przez firmę Microsoft. Po usunięciu zadania transkrypcji dane wynikowe transkrypcji również zostaną usunięte.

Polecenie spx batch transcription list zwraca listę plików wyników dla transkrypcji. Plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej. Ponadto jeden plik transkrypcji (wynik końcowy) jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.

  • Ustaw flagę wymaganą files .
  • Ustaw wymagany transcription parametr na identyfikator transkrypcji, który chcesz pobrać dzienniki.

Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa, które pobiera listę plików wyników dla transkrypcji:

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

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

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

Lokalizacja poszczególnych plików raportów transkrypcji i transkrypcji z większą ilością szczegółów jest zwracana w treści odpowiedzi. Właściwość contentUrl zawiera adres URL do pliku transkrypcji ("kind": "Transcription") lub raportu transkrypcji ("kind": "TranscriptionReport").

Domyślnie wyniki są przechowywane w kontenerze zarządzanym przez firmę Microsoft. Po usunięciu zadania transkrypcji dane wynikowe transkrypcji również zostaną usunięte.

Plik raportu transkrypcji

Jeden plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej.

Zawartość każdego pliku wyniku transkrypcji jest formatowana jako JSON, jak pokazano w tym przykładzie.

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

Plik wyników transkrypcji

Jeden plik wyników transkrypcji jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.

Zawartość każdego pliku wyniku transkrypcji jest formatowana jako JSON, jak pokazano w tym przykładzie.

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

W zależności od parametrów żądania ustawionych podczas tworzenia zadania transkrypcji plik transkrypcji może zawierać następujące właściwości wyniku.

Właściwości opis
channel Numer kanału wyników. W przypadku strumieni audio stereo kanały po lewej i prawej stronie są dzielone podczas transkrypcji. Plik wyników JSON jest tworzony dla każdego wejściowego pliku audio.
combinedRecognizedPhrases Łączone wyniki wszystkich fraz dla kanału.
confidence Wartość ufności dla rozpoznawania.
display Formularz wyświetlania rozpoznanego tekstu. Uwzględniane są dodatkowe znaki interpunkcyjne i wielkie litery.
displayWords Znaczniki czasu dla każdego wyrazu transkrypcji. Właściwość żądania musi być ustawiona displayFormWordLevelTimestampsEnabled na true, w przeciwnym razie ta właściwość nie jest obecna.

Uwaga: ta właściwość jest dostępna tylko w przypadku interfejsu API REST zamiany mowy na tekst w wersji 3.1 lub nowszej.
duration Czas trwania dźwięku. Wartość jest czasem trwania zakodowanym w formacie ISO 8601.
durationInTicks Czas trwania dźwięku w kleszczach (jeden kleszcz wynosi 100 nanosekund).
itn Odwrotna postać tekstu znormalizowanego (ITN) rozpoznanego tekstu. Stosowane są skróty takie jak "Doctor Smith" do "Dr Smith", numery telefonów i inne przekształcenia.
lexical Rzeczywiste wyrazy rozpoznane.
locale Ustawienia regionalne zidentyfikowane na podstawie danych wejściowych dźwięku. Właściwość żądania musi być ustawiona languageIdentification , w przeciwnym razie ta właściwość nie jest obecna.

Uwaga: ta właściwość jest dostępna tylko w przypadku interfejsu API REST zamiany mowy na tekst w wersji 3.1 lub nowszej.
maskedITN Formularz ITN z zastosowanym maskowaniem wulgaryzmów.
nBest Lista możliwych transkrypcji dla bieżącej frazy z ufnościami.
offset Przesunięcie w dźwięku tej frazy. Wartość jest czasem trwania zakodowanym w formacie ISO 8601.
offsetInTicks Przesunięcie w dźwięku tej frazy w kleszczach (jeden znacznik to 100 nanosekund).
recognitionStatus Stan rozpoznawania. Na przykład: "Powodzenie" lub "Niepowodzenie".
recognizedPhrases Lista wyników dla każdej frazy.
source Adres URL, który został podany jako źródło wejściowego dźwięku. Źródło odpowiada contentUrls właściwości lub contentContainerUrl żądania. Właściwość source jest jedynym sposobem potwierdzenia danych wejściowych audio dla transkrypcji.
speaker Zidentyfikowany mówca. diarization Właściwości i żądania diarizationEnabled muszą być ustawione, w przeciwnym razie ta właściwość nie jest obecna.
timestamp Data i godzina utworzenia transkrypcji. Wartość jest zakodowaną sygnaturą czasową ISO 8601.
words Lista wyników z tekstem leksykalnym dla każdego wyrazu frazy. Właściwość żądania musi być ustawiona wordLevelTimestampsEnabled na true, w przeciwnym razie ta właściwość nie jest obecna.

Następne kroki